From 0122bb377beea4dc40c405b61f9032501df68f81 Mon Sep 17 00:00:00 2001 From: Fawzi Mohamed <fawzi.mohamed@fhi-berlin.mpg.de> Date: Sun, 4 Feb 2018 22:20:49 +0100 Subject: [PATCH] Updating hands-on-tutorial with working version of emre --- hands-on/hands-on-tutorial.bkr | 6255 ++++++-------------------------- 1 file changed, 1201 insertions(+), 5054 deletions(-) diff --git a/hands-on/hands-on-tutorial.bkr b/hands-on/hands-on-tutorial.bkr index 13dee9a..45116d1 100644 --- a/hands-on/hands-on-tutorial.bkr +++ b/hands-on/hands-on-tutorial.bkr @@ -39,79 +39,184 @@ "mode": "stex" } } - }, - { - "name": "Python3", - "plugin": "Python3", - "setup": "%matplotlib inline\nimport numpy\nimport matplotlib\nfrom matplotlib import pylab, mlab, pyplot\nnp = numpy\nplt = pyplot\nfrom IPython.display import display\nfrom IPython.core.pylabtools import figsize, getfigs\nfrom pylab import *\nfrom numpy import *\n", - "view": { - "cm": { - "mode": "python" - } - } } ], "cells": [ { - "id": "codeX2m0TW", - "type": "code", - "evaluator": "HTML", - "input": { - "body": [ - "<font size=\"+2\" face=\"Impact\">1. Get the data from the NOMAD repository</font> <br> <br>", - "<form action=\"/html/tags/html_form_tag_action.cfm\" method=\"post\">", - "<textarea name=\"comments\" id=\"comments\" style=\"width:96%;padding:1%;height:100px;font:18px/26px cursive;border:17px double green;\">", - "See that the data from the repository can be accessed easily with simple python scripts.", - "</textarea><br>", - "</form>", - "", - "" - ], - "hidden": true - }, - "output": { - "state": {}, - "result": { - "type": "BeakerDisplay", - "innertype": "Html", - "object": "<script>\nvar beaker = bkHelper.getBeakerObject().beakerObj;\n</script>\n<font size=\"+2\" face=\"Impact\">1. Get the data from the NOMAD repository</font> <br> <br>\n<form action=\"/html/tags/html_form_tag_action.cfm\" method=\"post\">\n<textarea name=\"comments\" id=\"comments\" style=\"width:96%;padding:1%;height:100px;font:18px/26px cursive;border:17px double green;\">See that the data from the repository can be accessed easily with simple python scripts.\n</textarea><br>\n</form>\n\n" - }, - "selectedType": "BeakerDisplay", - "elapsedTime": 0, - "height": 189 - }, - "evaluatorReader": true, - "lineCount": 8 + "id": "markdowndtwMRP", + "type": "markdown", + "body": [ + "<style type=\"text/css\">", + "/*!", + " * Nomad Beaker Notebook Template", + " *", + " * @copyright Copyright 2017 Fritz Haber Institute of the Max Planck Society,", + " * Benjamin Regler - Apache 2.0 License", + " * @license http://www.apache.org/licenses/LICENSE-2.0", + " * @author Benjamin Regler", + " * @version 1.0.0", + " *", + " * Licensed under the Apache License, Version 2.0 (the \"License\");", + " * you may not use this file except in compliance with the License.", + " * You may obtain a copy of the License at", + " * ", + " * http://www.apache.org/licenses/LICENSE-2.0", + " *", + " * Unless required by applicable law or agreed to in writing, software", + " * distributed under the License is distributed on an \"AS IS\" BASIS,", + " * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.", + " * See the License for the specific language governing permissions and", + " * limitations under the License.", + " */", + "p{margin-bottom:1.3em}h1,h2,h3,h4{margin:1.414em 0 .5em;font-weight:inherit;line-height:1.2}h1{margin-top:0;font-size:3.998em}h2{font-size:2.827em}h3{font-size:1.999em}h4{font-size:1.414em}.font_small,small{font-size:.707em}notebook-container{font-size:16px}.nomad--header h2{color:#20335d;font-weight:700;margin:0 0 .2em}.nomad--header h3{color:#20335d;font-weight:700;margin-top:0;text-indent:-1em;padding-left:1em}.nomad--header h3:before{content:\"\\2014\";padding-right:.25em}.nomad--header .nomad--description{margin:-1em 0 0 2em}.atomic-data--block,.nomad--last-updated{display:inline-block;margin-top:1em}.nomad--last-updated{color:grey;float:right;position:relative;z-index:1}.nomad--last-updated::before{bottom:-75%;content:attr(data-version);font-size:4em;font-weight:700;opacity:.2;position:absolute;right:0}.atomic-data label{display:block;font-size:medium;font-weight:700}.atomic-data--select,.chosen-container{width:100%!important}.atomic-data--select:disabled{color:#d3d3d3}.atomic-data--reset-buton{display:inline-block;margin-top:1.6em;width:100%}.modal-dialog{max-width:1000px;width:80%}.modal-header h1{font-size:2em;line-height:1.2}.modal-dialog h2{font-size:1.414em}.modal-dialog h2:first-child{margin-top:0}.modal-dialog h3{font-size:1.2em}.modal-dialog dt{font-size:larger;margin-top:1.414em}.modal-dialog img{width:100%}.modal-dialog .authors{text-transform:uppercase}", + "summary{list-style:disc; margin: 2px;padding: 10px;border: 0px;border:8px double green; font-size:16px;padding-left: 32px;padding-right: 22px; width:89%}", + "</style>", + "", + "<div id=\"teaser\" style='background-color: rgba(149,170,79, 1.0); background-position: right center; background-size: 200px; background-repeat: no-repeat; ", + " padding-top: 20px;", + " padding-right: 10px;", + " padding-bottom: 50px;", + " padding-left: 80px;' > ", + "", + " <div class=\"nomad--header\">", + " <div style=\"text-align:center\">", + " <h2> <img id=\"nomad\" src=\"https://nomad-coe.eu/uploads/nomad/images/NOMAD_Logo2.png\" height=\"100\" alt=\"NOMAD Logo\"> NOMAD Analytics Toolkit <img id=\"nomad\" src=\"https://www.nomad-coe.eu/uploads/nomad/backgrounds/head_big-data_analytics_2.png\" height=\"80\" alt=\"NOMAD Logo\"> </h2>", + " </div>", + " <h3>Hands-on Workshop Density-Functional Theory and Beyond:<br> Compressed sensing for identifying descriptors ", + " </h3>", + " <p class=\"nomad--description\">", + " created by:", + " Emre Ahmetcik<sup>1</sup>, ", + " Angelo Ziletti<sup> 1</sup>,", + " Runhai Ouyang<sup>1</sup>,", + " Luca Ghiringhelli<sup>1</sup>,", + " and Matthias Scheffler<sup>1</sup> <br><br>", + " ", + " <sup>1</sup> Fritz Haber Institute of the Max Planck Society, Faradayweg 4-6, D-14195 Berlin, Germany <br>", + " <span class=\"nomad--last-updated\" data-version=\"v1.0.0\">[Last updated: July 23, 2017]</span>", + " </p>", + "</div>", + "</div>", + "", + "<div style='text-align: right;'>", + "<a href=\"https://analytics-toolkit.nomad-coe.eu/home/\" class=\"btn btn-primary\" style=\"font-size:larger;\">Back to Analytics Home</a> ", + "<a href=\"https://www.nomad-coe.eu/\" class=\"btn btn-primary\" style=\"font-size:larger;\">Back to NOMAD CoE Home</a> ", + "</div> ", + "", + "", + "", + "<br><br><br>", + "This tutorial shows how to find descriptive parameters (short formulas) to predict materials properties using compressed sensing tools. As an example we adress the prediction of the crystal structure stability of 82 octet binary compounds. We provide scripts which access the relevant data from the NOMAD Archive and determine descriptors for both regression models (predicting the rocksalt (RS) vs zincblende (ZB) structure energy difference) and classification (a compound is predicted to be most stable in either RS, ZB, CsCl, NiAs or CrB structure) .", + "", + "The idea of using compressed sensing tools: Starting from simple physical quantities (\"building blocks\", here properties of the constituent free atoms such as orbital radii), millions (or billions) of candidate formulas are generated by applying arithmetic operations combining building blocks, for example forming sums and products of them. These candidate formulas constitute the so-called \"feature space\". Then a feature selection method is used to select only a few of these formulas that explain the data. In this tutorial we use the methods LASSO+$\\ell_0$ as introduced in ", + "<div style=\"padding: 1ex; margin-top: 1ex; margin-bottom: 1ex; border-style: dotted; border-width: 1pt; border-color: blue; border-radius: 3px;\">", + "L. M. Ghiringhelli, J. Vybiral, S. V. Levchenko, C. Draxl, M. Scheffler: <span style=\"font-style: italic;\">Big Data of Materials Science: Critical Role of the Descriptor</span>, Phys. Rev. Lett. 114, 105503 (2015) <a href=\"http://journals.aps.org/prl/abstract/10.1103/PhysRevLett.114.105503\" target=\"_blank\">[PDF]</a></div>", + " and Sure Independence Screening Sparse Operator (SISSO) as proposed in", + "<div style=\"padding: 1ex; margin-top: 1ex; margin-bottom: 1ex; border-style: dotted; border-width: 1pt; border-color: blue; border-radius: 3px;\">", + "R. Ouyang, E. Ahmetcik, L. M. Ghiringhelli, and M. Scheffler: <span style=\"font-style: italic;\">Descriptor identification for material properties via compressed sensing</span>, in preparation.", + "</div>", + "" + ], + "evaluatorReader": false }, { - "id": "codeQIGx6m", - "type": "code", - "evaluator": "TeX", - "input": { - "body": [ - "\\text{Introduce octet binary systems... } (r_s(\\text{A}), r_p(\\text{A}), r_d(\\text{A}), r_s(\\text{B}), r_s(\\text{B}), r_d(\\text{B})) \\text{. Now get the data from the nomad repository.}" - ], - "hidden": true - }, - "output": { - "state": {}, - "result": { - "type": "BeakerDisplay", - "innertype": "Latex", - "object": "\\text{Introduce octet binary systems... } (r_s(\\text{A}), r_p(\\text{A}), r_d(\\text{A}), r_s(\\text{B}), r_s(\\text{B}), r_d(\\text{B})) \\text{. Now get the data from the nomad repository.}" - }, - "selectedType": "BeakerDisplay", - "elapsedTime": 1817, - "height": 57 - }, - "evaluatorReader": true, - "lineCount": 1 + "id": "sectionFrtJgy", + "type": "section", + "title": "Introduction to the compressed sensing methods", + "level": 1, + "evaluatorReader": false, + "collapsed": true + }, + { + "id": "markdownVA6agA", + "type": "markdown", + "body": [ + "The feature space is generated by creating a list of analytical expressions (the derived features), obtained by combining the primary features and arithmetic operations. We put all $m$ derived features into a descriptor matrix $\\mathbf{D} \\in \\mathbb{R}^{82 \\times m}$ where each column stands for a derived feature and each row for a compound. An $\\ell_0$-regularization ", + "", + "$\\text{argmin}_{\\mathbf{c} \\in \\mathbb{R}^{m}} \\{\\|\\mathbf{P} - \\mathbf{D}\\mathbf{c}\\|^2_2 +\\lambda \\|\\mathbf{c}\\|_0\\}$", + "", + "determines those few feature columns which approximate a property vector $\\mathbf{P} \\in \\mathbb{R}^{82}$ (i.e RS vs. ZB energy differences) best. The subscript 0 stays for the $\\ell_0$-quasinorm, that counts the number of non-zero elements of $\\mathbf{c}$ and $\\lambda > 0$ is called the regularization parameter. Performing the $\\ell_0$-regularization becomes fast computational infeasable and often approximations (i.e. LASSO, LASSO+L0, SIS+L0) are needed since in practice the $\\ell_0$-regularization needs to be solved combinatorial: All singletons, pairs, triplets, ... $n$-tuples (up to the selected maximum dimension of the descriptor) are listed and for each set a least-square regression is performed. The $n$-tuple that gives the lowest mean square error for the least-square regression fit is selected as the resulting $n$-dimensional descriptor." + ], + "evaluatorReader": false + }, + { + "id": "sectionS8rXSG", + "type": "section", + "title": "The LASSO+$\\ell_0$ method", + "level": 2, + "evaluatorReader": false, + "collapsed": false + }, + { + "id": "markdown28rftM", + "type": "markdown", + "body": [ + " LASSO+$\\ell_0$ combines the Least Absolute Shrinkage and Selection Operator (LASSO) and the $\\ell_0$-regularization. In the first step the LASSO minimization", + "", + "$\\text{argmin}_{\\mathbf{c} \\in \\mathbb{R}^{m}} \\{\\|\\mathbf{P} - \\mathbf{D}\\mathbf{c}\\|^2_2 +\\lambda \\|\\mathbf{c}\\|_1\\}$", + "", + "is performed repetitively by decreasing $\\lambda$ in small steps starting from the largest value that gives one non-zero element in $\\mathbf{c}$, until a desired number of features (i.e. 30) that have non-zero coefficient in $\\mathbf{c}$ are collected/saved. Using these collected features the $\\ell_0$-regularization is performed subsequently.", + "" + ], + "evaluatorReader": false + }, + { + "id": "sectionbYEx1l", + "type": "section", + "title": "The SISSO for regression", + "level": 2, + "evaluatorReader": false, + "collapsed": false + }, + { + "id": "markdownyyqzw4", + "type": "markdown", + "body": [ + "SISSO works iteratively. In the first iteration, a number $k$ of features is collected that have the largest correlation (scalar product) with $\\mathbf{P}$. The feature with the largest correlation is simply the 1D descriptor. Next, a residual is constructed as the error made at the first iteration. A new set of $k$ features is now selected as those having the largest correlation with the residual. The 2D descriptor is the pair of features that yield the smallest fitting error upon least-square regression, among all possible pairs contained in the union of the sets selected in this and the first iteration. In each next iteration a new residual is constructed as the error made in the previous iteration, then a new set of $k$ features is extracted as those that have largest correlation with each new residual. The $n$D descriptor is the $n$-tuple of features that yield the smallest fitting error upon least square regression, among all possible $n$-tuples contained in the union of the sets obtained in each new iteration and all the previous iterations. If $k=1$ the method collapses to the so-called orthogonal matching pursuit." + ], + "evaluatorReader": false + }, + { + "id": "sectionH1x7Pk", + "type": "section", + "title": "The SISSO for classification", + "level": 2, + "evaluatorReader": false, + "collapsed": false + }, + { + "id": "markdownNO8Ito", + "type": "markdown", + "body": [ + "For classification (categorial target), the SISSO is applied with a different loss function. Given the convex hull of each target class, now, the number of data points located in overlapping convex hull regions is minimized. " + ], + "evaluatorReader": false + }, + { + "id": "sectionB3Bqbw", + "type": "section", + "title": "Get the data from the NOMAD Archive", + "level": 1, + "evaluatorReader": false, + "collapsed": true + }, + { + "id": "markdownOfpScv", + "type": "markdown", + "body": [ + "<summary>", + "<li>See that the data from the repository can be accessed easily with simple python scripts.</li>", + "<li>Consider the specific case of 82 octet binary compounds in the RS and ZB structure. Process the data to build the target property $\\mathbf{P} \\in \\mathbb{R}^{82}$ of RS vs ZB energy differences.</li>", + "<li>Construct the descriptor matrix $\\mathbf{D} \\in \\mathbb{R}^{82 \\times m}$ using primary features from the NOMAD atomic data collection.</li>", + "</summary>" + ], + "evaluatorReader": false }, { "id": "markdownocHinB", "type": "markdown", "body": [ - "In the following cell we declare the paths to the JSON files of the DFT calculations." + "In the following cell we declare the paths to the JSON files of the DFT calculations. The list provides 2 x 82 paths of single point calculations at (close to) the equilibrium of the RS and ZB crystal symmetry." ], "evaluatorReader": false }, @@ -286,27 +391,24 @@ "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PUJUPZHk2jrE1KVUS7H13mKBH4oVR.json',", "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RWApItBGtGUDsfMVlHKqrjUQ4rShT/POIYfYCEIron9yzowfHWhVea-VEFW.json',", "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RWApItBGtGUDsfMVlHKqrjUQ4rShT/P_1mfRE8eDZ7zCLQwGT_3n8YC34dE.json'", - "]", - "" - ], - "hidden": true + "]" + ] }, "output": { "state": {}, "selectedType": "Hidden", "pluginName": "IPython", - "shellId": "C52E2607E20544C788411157B4CD5289", - "elapsedTime": 2129 + "shellId": "4B35956E29D047B389A3AA6E8297BBBD" }, "evaluatorReader": true, - "lineCount": 167, + "lineCount": 166, "tags": "json_list" }, { "id": "markdownjLPoKc", "type": "markdown", "body": [ - "Now import and use the NOMADStructure function to get the chemical formula, the total energy and the space group from each json file." + "Now, import and use the class 'NOMADStructure' to get the chemical formula, the total energy and the space group from each json file. You can type 'help(NOMADStructure)' to find out, what else can be extracted from a structure." ], "evaluatorReader": false }, @@ -320,35 +422,34 @@ "", "nomad_structure_list = [NOMADStructure(in_file=json_path, file_format='NOMAD', take_first='False') for json_path in json_list]", "", - "# Consider first element of nomad_structure_list as example", - "example_structure = nomad_structure_list[0]", - "print example_structure.chemical_symbols[0,0]", - "print example_structure.chemical_formula[0,0]", - "print example_structure.spacegroup_analyzer[0,0].get_space_group_number()", - "print example_structure.energy_total__eV[0,0]" + "# Consider first element of nomad_structure_list as an example", + "first_structure = nomad_structure_list[0]", + "print first_structure.chemical_symbols[0,0]", + "print first_structure.chemical_formula[0,0]", + "print first_structure.spacegroup_analyzer[0,0].get_space_group_number() ", + "print first_structure.energy_total__eV[0,0] # energy per unit cell", + "print first_structure.energy_total__eV[0,0]/ len(first_structure.atoms[0,0]) # energy per atom" ] }, "output": { "state": {}, - "result": { - "type": "Results", - "outputdata": [ - { - "type": "out", - "value": "['Cd', 'Te']\nCdTe\n225\n-341429.178625\n" - } - ] - }, "selectedType": "Results", "pluginName": "IPython", - "shellId": "C52E2607E20544C788411157B4CD5289", - "elapsedTime": 3185, - "height": 105 + "shellId": "4B35956E29D047B389A3AA6E8297BBBD", + "height": 0 }, "evaluatorReader": true, - "lineCount": 10, + "lineCount": 11, "tags": "nomad_structure_list" }, + { + "id": "markdownI6KjT2", + "type": "markdown", + "body": [ + "Find the function 'get_energies' in the following cell which returns a data frame of 2 x 82 rows containing the chemical formula, the total energy per atom in eV, the space group and the json path." + ], + "evaluatorReader": false + }, { "id": "codeE3BU1L", "type": "code", @@ -371,44 +472,41 @@ "state": {}, "selectedType": "Hidden", "pluginName": "IPython", - "shellId": "C52E2607E20544C788411157B4CD5289", - "elapsedTime": 535, + "shellId": "4B35956E29D047B389A3AA6E8297BBBD", "height": 5705 }, "evaluatorReader": true, "lineCount": 10, "tags": "get_energies" }, + { + "id": "markdownbEHiV5", + "type": "markdown", + "body": [ + "Call 'get_energies' and print the data frame sorted by the chemical formula." + ], + "evaluatorReader": false + }, { "id": "codeheXP3D", "type": "code", "evaluator": "IPython", "input": { "body": [ - "df_energies = get_energies(nomad_structure_list)", - "", + "# set pandas option to display whole data frame", "pd.set_option('display.max_rows', 200)", "pd.set_option('display.expand_frame_repr', False)", - "# print df_energies sorted by chemical_formula", - "print df_energies.sort_values('energy')" + "", + "df_energies = get_energies(nomad_structure_list)", + "print df_energies.sort_values('chemical_formula')" ] }, "output": { "state": {}, - "result": { - "type": "Results", - "outputdata": [ - { - "type": "out", - "value": " chemical_formula energy space_group json_path\n12 BaTe -206204.229045 225 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\n112 BaTe -206203.853659 216 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\n77 CsI -205812.182857 225 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\n118 CsI -205812.020470 216 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\n96 AgI -171339.245107 216 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\n58 AgI -171339.208181 225 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\n162 CdTe -170714.703852 216 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\n0 CdTe -170714.589312 225 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\n152 InSb -170340.181666 216 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\n5 InSb -170340.103606 225 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\n128 Sn2 -170215.367556 227 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\n70 Sn2 -170215.350592 221 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\n32 BaSe -145716.769672 225 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\n116 BaSe -145716.426227 216 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\n34 BrCs -143254.434337 225 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\n86 BrCs -143254.278470 216 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\n53 IRb -139031.425413 225 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\n102 IRb -139031.258212 216 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\n8 SrTe -137269.487147 225 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\n135 SrTe -137269.107853 216 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\n101 CuI -120801.823383 216 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\n63 CuI -120801.618708 225 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\n114 TeZn -118240.052677 216 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\n46 TeZn -118239.807676 225 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\n56 BaS -117910.270940 225 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\n88 BaS -117909.951178 216 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\n136 GaSb -115902.137374 216 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\n21 GaSb -115901.982749 225 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\n3 ClCs -113870.626210 225 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\n147 ClCs -113870.475864 216 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\n106 GeSn -113787.531950 216 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\n66 GeSn -113787.450287 225 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\n64 BaO -113504.826963 225 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\n94 BaO -113504.733965 216 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\n92 AsIn -111895.921302 216 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\n54 AsIn -111895.787255 225 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\n108 CdSe -110227.144833 216 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\n41 CdSe -110227.061261 225 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\n62 CsF -108950.888849 225 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\n87 CsF -108950.780586 216 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\n27 AgBr -108781.333959 225 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\n91 AgBr -108781.303925 216 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\n81 IK -106403.949897 225 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\n149 IK -106403.782858 216 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\n18 CaTe -102975.696119 225 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\n141 CaTe -102975.345663 216 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\n37 INa -100416.816231 225 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\n83 INa -100416.701393 216 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\n6 ILi -98315.905042 225 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\n138 ILi -98315.883382 216 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\n65 MgTe -96435.238354 225 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\n100 MgTe -96435.233762 216 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\n115 BeTe -93916.572772 216 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\n68 BeTe -93916.104186 225 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\n148 AlSb -92644.348873 216 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\n11 AlSb -92644.192004 225 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\n84 BSb -89684.194551 216 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\n28 BSb -89683.613701 225 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\n82 SiSn -89044.630512 216 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\n19 SiSn -89044.495403 225 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\n150 InP -85636.591190 216 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\n75 InP -85636.411997 225 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\n105 CSn -85621.488947 216 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\n55 CSn -85621.035409 225 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\n143 CdS -82420.636035 216 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\n17 CdS -82420.563362 225 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\n151 InN -81730.868505 216 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\n52 InN -81730.714785 225 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\n22 AgCl -79397.451083 225 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\n109 AgCl -79397.408285 216 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\n45 CdO -78015.168309 225 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\n113 CdO -78015.084148 216 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\n42 SeSr -76782.088429 225 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\n134 SeSr -76781.713918 216 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\n2 BrRb -76473.689393 225 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\n160 BrRb -76473.525572 216 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\n59 AgF -74477.428165 225 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\n89 AgF -74477.274407 216 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\n133 BrCu -58243.925279 216 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\n67 BrCu -58243.772836 225 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\n140 SeZn -57752.583012 216 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\n44 SeZn -57752.319875 225 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\n98 AsGa -57457.954236 216 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\n30 AsGa -57457.679958 225 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\n110 Ge2 -57359.762057 227 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\n4 Ge2 -57359.561204 221 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\n72 SSr -48975.635583 225 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\n125 SSr -48975.267149 216 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\n61 ClRb -47089.892923 225 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\n157 ClRb -47089.732419 216 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\n15 OSr -44570.361722 225 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\n139 OSr -44570.141416 216 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\n24 BrK -43846.228186 225 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\n121 BrK -43846.062010 216 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\n40 CaSe -42488.352920 225 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\n161 CaSe -42487.992122 216 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\n73 FRb -42170.183659 225 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\n144 FRb -42170.048063 216 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\n29 BrNa -37859.126083 225 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\n130 BrNa -37858.999655 216 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\n78 MgSe -35947.940031 225 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\n111 MgSe -35947.884729 216 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\n1 BrLi -35758.254037 225 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\n154 BrLi -35758.221290 216 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\n132 AlAs -34200.290775 216 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\n71 AlAs -34200.077513 225 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\n99 BeSe -33429.291703 216 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\n14 BeSe -33428.796762 225 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\n155 GeSi -32616.957249 216 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\n74 GeSi -32616.694039 225 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\n103 AsB -31240.222322 216 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\n51 AsB -31239.347344 225 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\n126 GaP -31198.704268 216 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\n23 GaP -31198.355516 225 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\n120 SZn -29946.165186 216 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\n16 SZn -29945.889373 225 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\n153 CGe -29194.089918 216 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\n69 CGe -29193.278475 225 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\n97 ClCu -28860.103219 216 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\n50 ClCu -28859.946961 225 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\n90 GaN -27293.397391 216 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\n39 GaN -27292.963946 225 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\n127 OZn -25540.911173 216 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\n76 OZn -25540.809205 225 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\n31 CuF -23939.960841 225 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\n85 CuF -23939.943819 216 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\n7 CaS -14681.946741 225 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\n137 CaS -14681.577608 216 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\n43 ClK -14462.444472 225 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\n142 ClK -14462.280011 216 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\n10 CaO -10276.901085 225 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\n129 CaO -10276.635866 216 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\n79 FK -9542.777877 225 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\n123 FK -9542.631471 216 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\n35 ClNa -8475.373434 225 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\n131 ClNa -8475.240442 216 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\n57 MgS -8141.593383 225 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\n117 MgS -8141.506684 216 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\n163 AlP -7941.081704 216 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\n80 AlP -7940.862745 225 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\n158 Si2 -7874.176328 227 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\n26 Si2 -7873.897162 221 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\n49 ClLi -6374.542821 225 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\n95 ClLi -6374.504440 216 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\n104 BeS -5623.021867 216 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\n20 BeS -5622.515539 225 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\n146 BP -4981.291645 216 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\n47 BP -4980.272420 225 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\n124 CSi -4451.954622 216 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\n13 CSi -4451.285599 225 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\n159 AlN -4036.501998 216 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\n60 AlN -4036.429049 225 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\n48 MgO -3737.074745 225 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\n93 MgO -3736.842470 216 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\n33 FNa -3555.843406 225 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\n145 FNa -3555.697618 216 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\n25 FLi -1455.242231 225 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\n156 FLi -1455.182743 216 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\n107 BeO -1219.131796 216 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\n9 BeO -1218.439958 225 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\n119 BN -1076.745496 216 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\n38 BN -1075.033415 225 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\n122 C2 -1029.177424 227 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\n36 C2 -1026.548820 221 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\n" - } - ] - }, "selectedType": "Results", "pluginName": "IPython", - "shellId": "A5DDC590EFE0401186F86DBE8F406484", - "elapsedTime": 400, - "height": 2781 + "shellId": "4B35956E29D047B389A3AA6E8297BBBD", + "height": 0 }, "evaluatorReader": true, "lineCount": 6 @@ -417,7 +515,7 @@ "id": "markdownnT2K2b", "type": "markdown", "body": [ - "In the following cell a function to get the property vector P of energy differences is defined using the just introduced function get_energies_from_repository." + "In the following cell, a function to construct the property vector $\\mathbf{P}$ of RS vs ZB energy differences is defined using the just introduced function 'get_energies'. The structures are separated by their space groups: 225 and 221 for RS and 216 and 227 for ZB (the second space group of each structure takes account of the elemental solids). Furthermore the json path of the minimum structure (RS or ZB) is returned." ], "evaluatorReader": false }, @@ -433,7 +531,7 @@ " spacegroup_tuples = [(225, 221), (216, 227)] # [(RS), (ZB)]", " selected_space_groups, spacegroups_to_be_replace = zip(*spacegroup_tuples)", " ", - " # replace all 221 by 225 and all 227 by 216", + " # replace all 221 by 225 and all 227 by 216 to get one RS and one ZB column", " df['space_group'] = df['space_group'].replace( spacegroups_to_be_replace , selected_space_groups ) ", "", " # df with json_path of minimum energy per chemical_formula", @@ -452,8 +550,7 @@ "state": {}, "selectedType": "Hidden", "pluginName": "IPython", - "shellId": "C52E2607E20544C788411157B4CD5289", - "elapsedTime": 561, + "shellId": "4B35956E29D047B389A3AA6E8297BBBD", "height": 1435 }, "evaluatorReader": true, @@ -472,20 +569,10 @@ }, "output": { "state": {}, - "result": { - "type": "Results", - "outputdata": [ - { - "type": "out", - "value": " energy_diff json_path\nchemical_formula \nAgBr -0.030033 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\nAgCl -0.042797 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\nAgF -0.153758 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\nAgI 0.036925 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\nAlAs 0.213262 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\nAlN 0.072949 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\nAlP 0.218958 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\nAlSb 0.156869 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\nAsB 0.874978 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\nAsGa 0.274278 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\nAsIn 0.134048 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\nBN 1.712080 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\nBP 1.019225 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\nBSb 0.580849 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\nBaO -0.092999 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\nBaS -0.319762 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\nBaSe -0.343445 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\nBaTe -0.375387 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\nBeO 0.691838 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\nBeS 0.506328 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\nBeSe 0.494940 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\nBeTe 0.468586 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\nBrCs -0.155867 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\nBrCu 0.152443 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\nBrK -0.166176 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\nBrLi -0.032746 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\nBrNa -0.126429 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\nBrRb -0.163821 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\nC2 2.628604 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\nCGe 0.811443 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\nCSi 0.669024 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\nCSn 0.453538 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\nCaO -0.265219 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\nCaS -0.369133 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\nCaSe -0.360798 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\nCaTe -0.350456 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\nCdO -0.084161 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\nCdS 0.072673 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\nCdSe 0.083572 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\nCdTe 0.114540 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\nClCs -0.150346 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\nClCu 0.156259 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\nClK -0.164461 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\nClLi -0.038381 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\nClNa -0.132992 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\nClRb -0.160504 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\nCsF -0.108263 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\nCsI -0.162387 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\nCuF -0.017022 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\nCuI 0.204675 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\nFK -0.146406 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\nFLi -0.059488 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\nFNa -0.145788 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\nFRb -0.135596 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\nGaN 0.433445 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\nGaP 0.348752 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\nGaSb 0.154625 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\nGe2 0.200853 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\nGeSi 0.263210 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\nGeSn 0.081663 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\nIK -0.167039 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\nILi -0.021661 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\nINa -0.114838 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\nIRb -0.167201 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\nInN 0.153720 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\nInP 0.179193 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\nInSb 0.078060 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\nMgO -0.232275 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\nMgS -0.086700 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\nMgSe -0.055302 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\nMgTe -0.004591 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\nOSr -0.220307 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\nOZn 0.101968 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\nSSr -0.368434 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\nSZn 0.275813 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\nSeSr -0.374511 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\nSeZn 0.263137 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\nSi2 0.279166 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\nSiSn 0.135109 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\nSn2 0.016964 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\nSrTe -0.379295 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\nTeZn 0.245001 /parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4...\n" - } - ] - }, "selectedType": "Results", "pluginName": "IPython", - "shellId": "A5DDC590EFE0401186F86DBE8F406484", - "elapsedTime": 432, - "height": 1435 + "shellId": "4B35956E29D047B389A3AA6E8297BBBD", + "height": 0 }, "evaluatorReader": true, "lineCount": 2 @@ -494,7 +581,7 @@ "id": "markdownOBfktj", "type": "markdown", "body": [ - "Now let's import the desciptors with the following function. The function is rather technical, so you can ignore the definition (but run the cell)." + "Now let's consider a function which creates the descriptor matrix $\\mathbf{D}$ . The function is rather technical, so you can ignore the definition (but run the cell)." ], "evaluatorReader": false }, @@ -564,63 +651,21 @@ "state": {}, "selectedType": "Results", "pluginName": "IPython", - "shellId": "109035019D6148B2917DFA4522E8810D", - "elapsedTime": 3531, - "result": { - "type": "Results", - "outputdata": [ - { - "type": "err", - "value": "WARNING:pint.util:Redefining 'footHTwoO' (<class 'pint.definitions.UnitDefinition'>)\n" - }, - { - "type": "err", - "value": "WARNING:pint.util:Could not resolve count: UndefinedUnitError()\n" - }, - { - "type": "err", - "value": "WARNING:pint.util:Could not resolve julianYear: UndefinedUnitError()\n" - }, - { - "type": "err", - "value": "WARNING:pint.util:Could not resolve waterSixtyF: UndefinedUnitError()\n" - }, - { - "type": "err", - "value": "WARNING:pint.util:Could not resolve countsPerSecond: UndefinedUnitError()\n" - }, - { - "type": "err", - "value": "WARNING:pint.util:Could not resolve inchHTwoOSixtyF: UndefinedUnitError()\n" - }, - { - "type": "err", - "value": "WARNING:pint.util:Could not resolve cps: UndefinedUnitError()\n" - }, - { - "type": "err", - "value": "WARNING:pint.util:Could not resolve ly: UndefinedUnitError()\n" - }, - { - "type": "err", - "value": "WARNING:pint.util:Could not resolve lightyear: UndefinedUnitError()\n" - }, - { - "type": "err", - "value": "WARNING:pint.util:Could not resolve lightYear: UndefinedUnitError()\n" - }, - { - "type": "err", - "value": "Using TensorFlow backend.\n" - } - ] - }, - "height": 222 + "shellId": "769AC1053A474D139637EBFAD311D374", + "height": 0 }, "evaluatorReader": true, "lineCount": 54, "tags": "get_descriptors" }, + { + "id": "markdownS5NEVZ", + "type": "markdown", + "body": [ + "Use 'get_descriptors' to obtain the descriptor matrix $\\mathbf{D}$ of the radii at the maximum value of the s, p, and d valence radial probability density: $r_s(A), r_s(B), r_p(A), r_p(B), r_d(A), r_d(B)$. If the list of allowed (arithmetic) operations is empty only the six primary features are returned. If strings of arithmetic operations are included (i.e. \"$+$\", \"$-$\", \"$/$\", \"$\\exp$\") also derived features will be added to the matrix." + ], + "evaluatorReader": false + }, { "id": "codeWjXSr9", "type": "code", @@ -638,6 +683,7 @@ " }", "", "kwargs['selected_feature_list'] = ['atomic_rs_max', 'atomic_rp_max', 'atomic_rd_max']", + "# kwargs['allowed_operations'] = ['+', '-', '|-|', '*', '/' '^2', '^3', 'exp']", "kwargs['allowed_operations'] = []", "df_desc = get_descriptors(**kwargs)", "print df_desc" @@ -645,37 +691,19 @@ }, "output": { "state": {}, - "result": { - "type": "Results", - "outputdata": [ - { - "type": "err", - "value": "WARNING: No allowed operations selected.\n" - }, - { - "type": "err", - "value": "INFO: Number of total features generated: 6\n" - }, - { - "type": "out", - "value": " r_s(A) r_p(A) r_d(A) r_s(B) r_p(B) r_d(B)\nchemical_formula \nSeZn 1.10 1.55 2.25 0.80 0.95 2.18\nInSb 1.13 1.50 3.11 1.00 1.23 2.06\nCuI 1.20 1.68 2.58 0.90 1.07 1.72\nSZn 1.10 1.55 2.25 0.74 0.85 2.37\nBN 0.81 0.83 1.95 0.54 0.51 1.54\nOSr 1.91 2.55 1.20 0.46 0.43 2.22\nBrRb 2.24 3.20 1.96 0.75 0.88 1.87\nBaTe 2.15 2.63 1.35 0.94 1.14 1.83\nBeSe 1.08 1.21 2.88 0.80 0.95 2.18\nMgS 1.33 1.90 3.17 0.74 0.85 2.37\nGaN 0.99 1.33 2.16 0.54 0.51 1.54\nBrNa 1.71 2.60 6.57 0.75 0.88 1.87\nBP 0.81 0.83 1.95 0.83 0.97 1.77\nClRb 2.24 3.20 1.96 0.68 0.76 1.67\nMgSe 1.33 1.90 3.17 0.80 0.95 2.18\nFK 2.13 2.44 1.79 0.41 0.37 1.43\nBrLi 1.65 2.00 6.93 0.75 0.88 1.87\nBSb 0.81 0.83 1.95 1.00 1.23 2.06\nMgTe 1.33 1.90 3.17 0.94 1.14 1.83\nGeSn 1.06 1.34 2.03 0.92 1.16 2.37\nGeSi 0.92 1.16 2.37 0.94 1.13 1.89\nCaTe 1.76 2.32 0.68 0.94 1.14 1.83\nClK 2.13 2.44 1.79 0.68 0.76 1.67\nBaO 2.15 2.63 1.35 0.46 0.43 2.22\nBrCs 2.46 3.16 1.97 0.75 0.88 1.87\nCsF 2.46 3.16 1.97 0.41 0.37 1.43\nBrCu 1.20 1.68 2.58 0.75 0.88 1.87\nCGe 0.92 1.16 2.37 0.64 0.63 1.63\nILi 1.65 2.00 6.93 0.90 1.07 1.72\nFLi 1.65 2.00 6.93 0.41 0.37 1.43\n... ... ... ... ... ... ...\nBeTe 1.08 1.21 2.88 0.94 1.14 1.83\nCdS 1.23 1.74 2.60 0.74 0.85 2.37\nCdTe 1.23 1.74 2.60 0.94 1.14 1.83\nTeZn 1.10 1.55 2.25 0.94 1.14 1.83\nGaP 0.99 1.33 2.16 0.83 0.97 1.77\nCdSe 1.23 1.74 2.60 0.80 0.95 2.18\nINa 1.71 2.60 6.57 0.90 1.07 1.72\nAlP 1.09 1.39 1.94 0.83 0.97 1.77\nAgCl 1.32 1.88 2.97 0.68 0.76 1.67\nAsGa 0.99 1.33 2.16 0.85 1.04 2.02\nGe2 0.92 1.16 2.37 0.92 1.16 2.37\nSeSr 1.91 2.55 1.20 0.80 0.95 2.18\nCSi 0.94 1.13 1.89 0.64 0.63 1.63\nBeO 1.08 1.21 2.88 0.46 0.43 2.22\nAgI 1.32 1.88 2.97 0.90 1.07 1.72\nAsB 0.81 0.83 1.95 0.85 1.04 2.02\nCaS 1.76 2.32 0.68 0.74 0.85 2.37\nAgF 1.32 1.88 2.97 0.41 0.37 1.43\nGaSb 0.99 1.33 2.16 1.00 1.23 2.06\nIK 2.13 2.44 1.79 0.90 1.07 1.72\nBaS 2.15 2.63 1.35 0.74 0.85 2.37\nCsI 2.46 3.16 1.97 0.90 1.07 1.72\nClCs 2.46 3.16 1.97 0.68 0.76 1.67\nCaO 1.76 2.32 0.68 0.46 0.43 2.22\nClCu 1.20 1.68 2.58 0.68 0.76 1.67\nCSn 1.06 1.34 2.03 0.64 0.63 1.63\nBeS 1.08 1.21 2.88 0.74 0.85 2.37\nIRb 2.24 3.20 1.96 0.90 1.07 1.72\nAlSb 1.09 1.39 1.94 1.00 1.23 2.06\nSrTe 1.91 2.55 1.20 0.94 1.14 1.83\n\n[82 rows x 6 columns]\n" - } - ] - }, "selectedType": "Results", "pluginName": "IPython", - "shellId": "C52E2607E20544C788411157B4CD5289", - "elapsedTime": 4079, - "height": 1152 + "shellId": "4B35956E29D047B389A3AA6E8297BBBD", + "height": 0 }, "evaluatorReader": true, - "lineCount": 14 + "lineCount": 15 }, { "id": "markdownjES4yc", "type": "markdown", "body": [ - "Now we put these functions together into a new function which returns the numpy arrays P and D, and the list of feature names. This function will be often used in the compressed sensing part." + "Let's summarize the untill now declared functions to a new function 'get_data' which returns the numpy arrays $\\mathbf{P}$ and $\\mathbf{D}$, the list of feature name strings, the list of compound strings ( the order matches to the ones of the rows of both $\\mathbf{P}$ and $\\mathbf{D}$) and the list of json paths of the minimum energy structures (also in the right order). We will need this function in the next chapters." ], "evaluatorReader": false }, @@ -712,8 +740,7 @@ "state": {}, "selectedType": "Hidden", "pluginName": "IPython", - "shellId": "C52E2607E20544C788411157B4CD5289", - "elapsedTime": 561, + "shellId": "4B35956E29D047B389A3AA6E8297BBBD", "height": 89 }, "evaluatorReader": true, @@ -729,66 +756,46 @@ "selected_feature_list = ['atomic_rs_max', 'atomic_rp_max', 'atomic_rd_max']", "allowed_operations = []", "P, D, feature_list, compounds_list, json_paths = get_data(selected_feature_list, allowed_operations)", - "print P.shape, D.shape, len(feature_list)" + "print P.shape, D.shape, len(feature_list), len(json_paths)" ] }, "output": { "state": {}, - "result": { - "type": "Results", - "outputdata": [ - { - "type": "err", - "value": "WARNING: No allowed operations selected.\n" - }, - { - "type": "err", - "value": "INFO: Number of total features generated: 6\n" - }, - { - "type": "out", - "value": "(82,) (82, 6) 6\n" - } - ] - }, "selectedType": "Results", "pluginName": "IPython", - "shellId": "A5DDC590EFE0401186F86DBE8F406484", - "elapsedTime": 4103, - "height": 89 + "shellId": "4B35956E29D047B389A3AA6E8297BBBD", + "height": 0 }, "evaluatorReader": true, "lineCount": 4 }, { - "id": "coden0Omsp", - "type": "code", - "evaluator": "HTML", - "input": { - "body": [ - "<font size=\"+2\" face=\"Impact\">2. Determining low-dimensional descriptors and fits with the L0 method</font> <br> <br>", - "<form action=\"/html/tags/html_form_tag_action.cfm\" method=\"post\">", - "<textarea name=\"comments\" id=\"comments\" style=\"width:96%;padding:1%;height:130px;font:18px/26px cursive;border:17px double green;\">", - "Show that non-linear functions of the primary features improve the models significantly. ", - "See at the same time that the L0 methods can rapidly become computational infeasible.", - "</textarea><br>", - "</form>" - ], - "hidden": true - }, - "output": { - "state": {}, - "result": { - "type": "BeakerDisplay", - "innertype": "Html", - "object": "<script>\nvar beaker = bkHelper.getBeakerObject().beakerObj;\n</script>\n<font size=\"+2\" face=\"Impact\">2. Determining low-dimensional descriptors and fits with the L0 method</font> <br> <br>\n<form action=\"/html/tags/html_form_tag_action.cfm\" method=\"post\">\n<textarea name=\"comments\" id=\"comments\" style=\"width:96%;padding:1%;height:130px;font:18px/26px cursive;border:17px double green;\">Show that non-linear functions of the primary features improve the models significantly. \nSee at the same time that the L0 methods can rapidly become computational infeasible.\n</textarea><br>\n</form>" - }, - "selectedType": "BeakerDisplay", - "elapsedTime": 0, - "height": 219 - }, - "evaluatorReader": true, - "lineCount": 7 + "id": "sectionCs89Kj", + "type": "section", + "title": "Determining low-dimensional descriptors with the $\\ell_0$ method", + "level": 1, + "evaluatorReader": false, + "collapsed": true + }, + { + "id": "markdownUK5ZfK", + "type": "markdown", + "body": [ + "<summary>", + "<li> Perform an $\\ell_0$-regularization to identify the best low dimensional descriptors using the primary features.</li>", + "<li> Show that non-linear functions of the primary features improve the models significantly. </li>", + "<li> See that the $\\ell_0$-regularization can rapidly become computational infeasible.</li>", + "</summary>" + ], + "evaluatorReader": false + }, + { + "id": "markdownJaNdzs", + "type": "markdown", + "body": [ + "For the case you have skipped a chapter, at the beginning of each chapter a JavaScript cell is provided which runs the relevant cells from chapters before with functions we will need in this chapter." + ], + "evaluatorReader": false }, { "id": "coderkkthv", @@ -796,6 +803,7 @@ "evaluator": "JavaScript", "input": { "body": [ + "// 'Import' relevant functions from chapter before", "var functions_list = [\"json_list\", \"nomad_structure_list\", \"get_energies\", \"get_energy_diffs\", \"get_descriptors\", \"get_data\"];", "var n_functions = functions_list.length", "var i;", @@ -803,82 +811,31 @@ " beaker.evaluate(functions_list[i]);", " beaker.print('import '+functions_list[i]);", "}" - ], - "hidden": true + ] }, "output": { "state": {}, - "result": { - "type": "Results", - "outputdata": [ - { - "type": "out", - "value": "import json_list\n" - }, - { - "type": "out", - "value": "import nomad_structure_list\n" - }, - { - "type": "out", - "value": "import get_energies\n" - }, - { - "type": "out", - "value": "import get_energy_diffs\n" - }, - { - "type": "out", - "value": "import get_descriptors\n" - }, - { - "type": "out", - "value": "import get_data\n" - } - ] - }, "selectedType": "Results", "pluginName": "JavaScript", - "elapsedTime": 1219, - "height": 176 + "height": 0 }, "evaluatorReader": true, - "lineCount": 7 + "lineCount": 8 }, { "id": "markdownxZfCEL", "type": "markdown", "body": [ - "Our target is to find the best low dimensional descriptor for a linear model. The L0 regularization provides exactly what we want. It is defined in the follwing and solved combinatorial:" + "Our target is to find the best low dimensional descriptor for a linear model. The L0 regularization", + "", + "$\\text{argmin}_{\\mathbf{c} \\in \\mathbb{R}^{m}} \\{\\|\\mathbf{P} - \\mathbf{D}\\mathbf{c}\\|^2_2 +\\lambda \\|\\mathbf{c}\\|_0\\}$", + "", + "provides exactly what we want. It is defined in the follwing and solved combinatorial:" ], "evaluatorReader": false }, { - "id": "codea6Noer", - "type": "code", - "evaluator": "TeX", - "input": { - "body": [ - "\\text{argmin}_{\\mathbf{c} \\in \\mathbb{R}^{m}} \\{\\|\\mathbf{P} - \\mathbf{D}\\mathbf{c}\\|^2_2 +\\lambda \\|\\mathbf{c}\\|_0\\}" - ], - "hidden": true - }, - "output": { - "state": {}, - "result": { - "type": "BeakerDisplay", - "innertype": "Latex", - "object": "\\text{argmin}_{\\mathbf{c} \\in \\mathbb{R}^{m}} \\{\\|\\mathbf{P} - \\mathbf{D}\\mathbf{c}\\|^2_2 +\\lambda \\|\\mathbf{c}\\|_0\\}" - }, - "selectedType": "BeakerDisplay", - "elapsedTime": 173, - "height": 94 - }, - "evaluatorReader": true, - "lineCount": 1 - }, - { - "id": "codeVjsseN", + "id": "codeVTzLtQ", "type": "code", "evaluator": "IPython", "input": { @@ -893,9 +850,12 @@ " for permu in combinations(range(n_columns),dimension):", " D_ls = D[:,permu+(-1,)]", " coef, SE, __1, __2 = np.linalg.lstsq(D_ls,P)", - " if len(SE) != 0 and SE[0] < SE_min: ", - " SE_min = SE[0]", - " coef_min, permu_min = coef, permu", + " try:", + " if SE[0] < SE_min: ", + " SE_min = SE[0]", + " coef_min, permu_min = coef, permu", + " except:", + " pass", " RMSE = np.sqrt(SE_min/n_rows)", " return RMSE, coef_min, permu_min" ] @@ -904,14 +864,20 @@ "state": {}, "selectedType": "Hidden", "pluginName": "IPython", - "shellId": "C52E2607E20544C788411157B4CD5289", - "elapsedTime": 550, - "height": 78 + "shellId": "4B35956E29D047B389A3AA6E8297BBBD" }, "evaluatorReader": true, - "lineCount": 15, + "lineCount": 18, "tags": "L0" }, + { + "id": "markdownkIHqDn", + "type": "markdown", + "body": [ + "Perform the $\\ell_0$-regularization for different dimensions (numbers of non-zero coefficients in the model) and see the root mean square errors (RMSE) and the selected features." + ], + "evaluatorReader": false + }, { "id": "code5rtN3R", "type": "code", @@ -922,63 +888,29 @@ "allowed_operations = []", "P, D, feature_list, compounds_list, json_paths = get_data(selected_feature_list, allowed_operations)", "", - "print \"RMSE Best desriptor\"", + "print \" RMSE Best desriptor\"", "for dim in range(1,7):", " RMSE, coefficients, selected_indices = L0(P,D,dim)", - " print RMSE, [feature_list[i] for i in selected_indices]" + " print '%sD:' %dim, RMSE, [feature_list[i] for i in selected_indices]" ] }, "output": { "state": {}, - "result": { - "type": "Results", - "outputdata": [ - { - "type": "err", - "value": "WARNING: No allowed operations selected.\n" - }, - { - "type": "err", - "value": "INFO: Number of total features generated: 6\n" - }, - { - "type": "out", - "value": "RMSE Best desriptor\n0.313339450832 [u'r_p(A)']\n0.294937680317 [u'r_p(A)', u'r_d(B)']\n0.280145362177 [u'r_p(A)', u'r_s(B)', u'r_p(B)']\n0.276359768851 [u'r_s(A)', u'r_p(A)', u'r_s(B)', u'r_p(B)']\n0.272705934507 [u'r_s(A)', u'r_p(A)', u'r_s(B)', u'r_p(B)', u'r_d(B)']\n0.272444461743 [u'r_s(A)', u'r_p(A)', u'r_d(A)', u'r_s(B)', u'r_p(B)', u'r_d(B)']\n" - } - ] - }, "selectedType": "Results", "pluginName": "IPython", - "shellId": "EF245204A1724E0F85E0DCD4F951D999", - "elapsedTime": 3960, - "height": 189 + "shellId": "4B35956E29D047B389A3AA6E8297BBBD", + "height": 0 }, "evaluatorReader": true, "lineCount": 8 }, { - "id": "codegBQKBa", - "type": "code", - "evaluator": "HTML", - "input": { - "body": [ - "Improvements can be obtained by increasing the feature space using more complex features. How does the performance change? How does the feature space size and the dimension of the descriptors depend on the needed time to solve the L0-problem?" - ], - "hidden": true - }, - "output": { - "state": {}, - "result": { - "type": "BeakerDisplay", - "innertype": "Html", - "object": "<script>\nvar beaker = bkHelper.getBeakerObject().beakerObj;\n</script>\nImprovements can be obtained by increasing the feature space using more complex features. How does the performance change? How does the feature space size and the dimension of the descriptors depend on the needed time to solve the L0-problem?" - }, - "selectedType": "BeakerDisplay", - "elapsedTime": 0, - "height": 55 - }, - "evaluatorReader": true, - "lineCount": 1 + "id": "markdown7wwBua", + "type": "markdown", + "body": [ + "Improvements can be obtained by increasing the feature space using more complex features (the derived features). Run the following script and plot the results afterwards. How does the accuracy of the models change? How does the feature space size and the dimension of the descriptors depend on the needed time to solve the $\\ell_0$-problem?" + ], + "evaluatorReader": false }, { "id": "codeLJovcN", @@ -1009,88 +941,10 @@ }, "output": { "state": {}, - "result": { - "type": "Results", - "outputdata": [ - { - "type": "err", - "value": "WARNING: No allowed operations selected.\n" - }, - { - "type": "err", - "value": "INFO: Number of total features generated: 6\n" - }, - { - "type": "err", - "value": "INFO: Selected operations:\n ['+', '|-|']\n" - }, - { - "type": "err", - "value": "INFO: Number of total features generated: 36\n" - }, - { - "type": "out", - "value": "features: 6; 1D RMSE: 0.313339450832 best features: [u'r_p(A)']\nfeatures: 6; 2D RMSE: 0.294937680317 best features: [u'r_p(A)', u'r_d(B)']\nfeatures: 6; 3D RMSE: 0.280145362177 best features: [u'r_p(A)', u'r_s(B)', u'r_p(B)']\nfeatures: 36; 1D RMSE: 0.296667831742 best features: [u'r_p(A)+r_d(B)']" - }, - { - "type": "out", - "value": "\nfeatures: 36; 2D RMSE: 0.2659214616 best features: [u'r_p(A)+r_d(B)', u'|r_p(A)-r_d(B)|']" - }, - { - "type": "out", - "value": "\nfeatures: 36; 3D RMSE: 0.209667272082 best features: [u'|r_s(A)-r_p(A)|', u'r_s(A)+r_d(B)', u'r_p(A)+r_d(B)']" - }, - { - "type": "err", - "value": "INFO: Selected operations:\n ['+', '|-|', 'exp']\n" - }, - { - "type": "err", - "value": "INFO: Number of total features generated: 57\n" - }, - { - "type": "out", - "value": "\nfeatures: 57; 1D RMSE: 0.296667831742 best features: [u'r_p(A)+r_d(B)']" - }, - { - "type": "out", - "value": "\nfeatures: 57; 2D RMSE: 0.227539292083 best features: [u'r_p(A)+r_s(B)', u'exp(r_p(A)+r_s(B))']" - }, - { - "type": "out", - "value": "\nfeatures: 57; 3D RMSE: 0.200506476708 best features: [u'|r_p(A)-r_s(B)|', u'|r_s(B)-r_p(B)|', u'exp(r_p(A))']" - }, - { - "type": "err", - "value": "INFO: Selected operations:\n ['+', '|-|', 'exp', '^2']\n" - }, - { - "type": "err", - "value": "INFO: Number of total features generated: 99\n" - }, - { - "type": "out", - "value": "\nfeatures: 99; 1D RMSE: 0.296667831742 best features: [u'r_p(A)+r_d(B)']" - }, - { - "type": "out", - "value": "\nfeatures: 99; 2D RMSE: 0.194137965467 best features: [u'r_p(A)+r_s(B)', u'(r_p(A)+r_s(B))^2']" - }, - { - "type": "out", - "value": "\nfeatures: 99; 3D RMSE: 0.170545561681 best features: [u'r_p(A)+r_s(B)', u'(r_p(A)+r_s(B))^2', u'exp(r_p(A)+r_s(B))']" - }, - { - "type": "out", - "value": "\n" - } - ] - }, "selectedType": "Results", "pluginName": "IPython", - "shellId": "EF245204A1724E0F85E0DCD4F951D999", - "elapsedTime": 40363, - "height": 571 + "shellId": "4B35956E29D047B389A3AA6E8297BBBD", + "height": 0 }, "evaluatorReader": true, "lineCount": 19 @@ -1117,60 +971,48 @@ }, "output": { "state": {}, - "result": { - "type": "OutputContainer", - "psubtype": "OutputContainer", - "items": [ - "<div class=\"output_subarea output_text\"><pre><matplotlib.legend.Legend at 0x7f86ac330710></pre></div>", - "<div class=\"output_subarea output_png\"><img src=\"data:image/png;base64,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\n\"></div>" - ] - }, - "selectedType": "OutputContainer", + "selectedType": "Html", "pluginName": "IPython", - "shellId": "EF245204A1724E0F85E0DCD4F951D999", - "elapsedTime": 663, - "height": 641 + "shellId": "4B35956E29D047B389A3AA6E8297BBBD", + "height": 0 }, "evaluatorReader": true, "lineCount": 12 }, { - "id": "codeOzJN51", + "id": "markdownJAAraB", + "type": "markdown", + "body": [ + "Assume now that we would like to include thousands or millions of (more) complex features to obtain more accurate models..." + ], + "evaluatorReader": false + }, + { + "id": "sectionX7Z2F0", + "type": "section", + "title": "Approximations to the $\\ell_0$ method", + "level": 1, + "evaluatorReader": false, + "collapsed": true + }, + { + "id": "markdowneXLmPW", + "type": "markdown", + "body": [ + "<summary>", + "<li >Perform a LASSO minimization and the LASSO+$\\ell_0$ method.</li>", + "<li >Compare the solutions with the ones from the $\\ell_0$ method.</li>", + "</summary>" + ], + "evaluatorReader": false + }, + { + "id": "codeSGrV0g", "type": "code", - "evaluator": "HTML", - "input": { - "body": [ - "<font size=\"+2\" face=\"Impact\">3. The L1+L0 method</font> <br> <br>", - "<form action=\"/html/tags/html_form_tag_action.cfm\" method=\"post\">", - "<textarea name=\"comments\" id=\"comments\" style=\"width:96%;padding:1%;height:160px;font:18px/26px cursive;border:17px double green;\">", - "Demonstrate how the LASSO works.", - "See that the LASSO can be a bad approximation to the L0 method.", - "See that the L1-L0 method can be a good approximation.", - "</textarea><br>", - "</form>" - ], - "hidden": true - }, - "output": { - "state": {}, - "result": { - "type": "BeakerDisplay", - "innertype": "Html", - "object": "<script>\nvar beaker = bkHelper.getBeakerObject().beakerObj;\n</script>\n<font size=\"+2\" face=\"Impact\">3. The L1+L0 method</font> <br> <br>\n<form action=\"/html/tags/html_form_tag_action.cfm\" method=\"post\">\n<textarea name=\"comments\" id=\"comments\" style=\"width:96%;padding:1%;height:160px;font:18px/26px cursive;border:17px double green;\">Demonstrate how the LASSO works.\nSee that the LASSO can be a bad approximation to the L0 method.\nSee that the L1-L0 method can be a good approximation.\n</textarea><br>\n</form>" - }, - "selectedType": "BeakerDisplay", - "elapsedTime": 0, - "height": 249 - }, - "evaluatorReader": true, - "lineCount": 8 - }, - { - "id": "codeSGrV0g", - "type": "code", - "evaluator": "JavaScript", + "evaluator": "JavaScript", "input": { "body": [ + "// 'Import' relevant functions from chapters before", "var functions_list = [\"json_list\", \"nomad_structure_list\", \"get_energies\", \"get_energy_diffs\", \"get_descriptors\", \"get_data\", \"L0\"];", "var n_functions = functions_list.length", "var i;", @@ -1178,85 +1020,39 @@ " beaker.evaluate(functions_list[i]);", " beaker.print('import '+functions_list[i]);", "}" - ], - "hidden": true + ] }, "output": { "state": {}, - "result": { - "type": "Results", - "outputdata": [ - { - "type": "out", - "value": "import json_list\n" - }, - { - "type": "out", - "value": "import nomad_structure_list\n" - }, - { - "type": "out", - "value": "import get_energies\n" - }, - { - "type": "out", - "value": "import get_energy_diffs\n" - }, - { - "type": "out", - "value": "import get_descriptors\n" - }, - { - "type": "out", - "value": "import get_data\n" - }, - { - "type": "out", - "value": "import L0\n" - } - ] - }, "selectedType": "Results", "pluginName": "JavaScript", - "elapsedTime": 1332, - "height": 155 + "height": 0 }, "evaluatorReader": true, - "lineCount": 7 + "lineCount": 8 + }, + { + "id": "section96VfCa", + "type": "section", + "title": "The LASSO", + "level": 2, + "evaluatorReader": false, + "collapsed": false }, { "id": "markdownHjYp4E", "type": "markdown", "body": [ "", - "Use instead approximations to the L0 method, i.e. LASSO: The LASSO is defined in the following:" + "One state-of-the art approximation to the $\\ell_0$-method is the LASSO: ", + "", + "$\\text{argmin}_{\\mathbf{c} \\in \\mathbb{R}^{m}} \\{\\|\\mathbf{P} - \\mathbf{D}\\mathbf{c}\\|^2_2 +\\lambda \\|\\mathbf{c}\\|_1\\}$.", + "", + "Before performing the LASSO regression we standardize the data to have mean 0 and variance 1, since otherwise the $\\ell_2$-norm of a column would affect bias its contribution to the model. <br>", + "Note that we can use the LASSO also only for feature selection. We can use then a least-square model with the selected features afterwards instead of the LASSO model directly." ], "evaluatorReader": false }, - { - "id": "codehLXC3s", - "type": "code", - "evaluator": "TeX", - "input": { - "body": [ - " \\text{argmin}_{\\mathbf{c} \\in \\mathbb{R}^{m}} \\{\\|\\mathbf{P} - \\mathbf{D}\\mathbf{c}\\|^2_2 +\\lambda \\|\\mathbf{c}\\|_1\\}" - ], - "hidden": true - }, - "output": { - "state": {}, - "result": { - "type": "BeakerDisplay", - "innertype": "Latex", - "object": " \\text{argmin}_{\\mathbf{c} \\in \\mathbb{R}^{m}} \\{\\|\\mathbf{P} - \\mathbf{D}\\mathbf{c}\\|^2_2 +\\lambda \\|\\mathbf{c}\\|_1\\}" - }, - "selectedType": "BeakerDisplay", - "elapsedTime": 180, - "height": 57 - }, - "evaluatorReader": true, - "lineCount": 1 - }, { "id": "code3B4gWJ", "type": "code", @@ -1266,40 +1062,44 @@ "from sklearn.linear_model import Lasso", "import scipy.stats as ss", "", - "def LASSO_fit(lam, P, D, feature_list):", + "def lasso_fit(lam, P, D, feature_list):", " #LASSO", " D_standardized = ss.zscore(D)", " lasso = Lasso(alpha=lam)", " lasso.fit(D_standardized, P)", " coef = lasso.coef_", " ", + " # get strings of selected features", " selected_indices = coef.nonzero()[0]", " selected_features = [feature_list[i] for i in selected_indices]", " ", - " #get RMSE for least squares fit", + " # get RMSE of LASSO model", + " P_predict = lasso.predict(D_standardized)", + " RMSE_LASSO = np.linalg.norm(P-P_predict) / np.sqrt(82.)", + " ", + " #get RMSE for least-square fit", " D_new = D[:, selected_indices]", " D_new = np.column_stack((D_new, np.ones(82)))", - " RMSE = np.sqrt(np.linalg.lstsq(D_new,P)[1][0]/82.)", - " ", - " return RMSE, coef, selected_features" + " RMSE_LS = np.sqrt(np.linalg.lstsq(D_new,P)[1][0]/82.)", + " ", + " return RMSE_LASSO, RMSE_LS, coef, selected_features" ] }, "output": { "state": {}, "selectedType": "Hidden", "pluginName": "IPython", - "shellId": "2004E48BC16641468283EE122E3F2C49", - "elapsedTime": 569, + "shellId": "4B35956E29D047B389A3AA6E8297BBBD", "height": 78 }, "evaluatorReader": true, - "lineCount": 19 + "lineCount": 24 }, { "id": "markdown5p8ptN", "type": "markdown", "body": [ - "lambda regulates the sparsity. Try different lambda. How good does LASSO approximate the L0-method?" + "$\\lambda$ regulates the sparsity of the coefficient vector of the model. Get the data and try different $\\lambda$ by shifting the lever along the range. How good does LASSO (directly or with a least square fit afterwards) approximate the L0-method (when the same feature space is used for both)?" ], "evaluatorReader": false }, @@ -1317,30 +1117,16 @@ }, "output": { "state": {}, - "result": { - "type": "Results", - "outputdata": [ - { - "type": "err", - "value": "INFO: Selected operations:\n ['+', '|-|', 'exp', '^2']\n" - }, - { - "type": "err", - "value": "INFO: Number of total features generated: 99\n" - } - ] - }, "selectedType": "Results", "pluginName": "IPython", - "shellId": "2004E48BC16641468283EE122E3F2C49", - "elapsedTime": 4538, - "height": 89 + "shellId": "4B35956E29D047B389A3AA6E8297BBBD", + "height": 0 }, "evaluatorReader": true, "lineCount": 4 }, { - "id": "codeoIognt", + "id": "codeQMp7hF", "type": "code", "evaluator": "HTML", "input": { @@ -1360,17 +1146,18 @@ }, "output": { "state": {}, + "selectedType": "BeakerDisplay", + "height": 0, "result": { "type": "BeakerDisplay", "innertype": "Html", - "object": "<script>\nvar beaker = bkHelper.getBeakerObject().beakerObj;\n</script>\n<input id=\"valBox\" min=\"0.02\" max=\"0.36\" step=\"0.01\" oninput=\"showVal(this.value)\" type=\"range\">\n<output for=\"value\" id=\"output\">lambda: 0.08</output>\n<script>\nfunction showVal(newVal){\n beaker.lam = newVal;\n beaker.evaluate(\"lambda_cell\")\n document.querySelector('#output').value = \"lambda: \"+newVal;;\n}\n</script>" + "object": "<script>\nvar beaker = bkHelper.getBeakerObject().beakerObj;\n</script>\n<input id=\"valBox\" type=\"range\" min=\"0.02\" max=\"0.36\" step=\"0.01\" \n oninput=\"showVal(this.value)\" >\n<output for=value id=\"output\">lambda: </output>\n<script>\nfunction showVal(newVal){\n beaker.lam = newVal;\n beaker.evaluate(\"lambda_cell\")\n document.querySelector('#output').value = \"lambda: \"+newVal;;\n}\n</script>" }, - "selectedType": "BeakerDisplay", - "elapsedTime": 0, - "height": 82 + "elapsedTime": 1 }, "evaluatorReader": true, - "lineCount": 10 + "lineCount": 10, + "initialization": true }, { "id": "coded2PoWQ", @@ -1379,44 +1166,42 @@ "input": { "body": [ "lam = float(beaker.lam)", - "RMSE, coef, selected_features = LASSO_fit(lam, P, D, feature_list)", + "RMSE_LASSO, RMSE_LS, coef, selected_features = lasso_fit(lam, P, D, feature_list)", "plt.bar(range(len(coef)), np.abs(coef))", "plt.xlabel(\"Coefficient index $i$\")", "plt.ylabel(\"$|c_i|$\")", "", - "print \"lambda: %s\\t dimension of descriptor: %s\\t RMSE: %s\" %(lam, len(selected_features), RMSE)", - "print pd.DataFrame({'features':np.array(selected_features), 'abs(coef)': np.abs(coef[coef.nonzero()])})", + "print \"lambda: %.3f\\t dimension of descriptor: %s\\t RMSE_LASSO: %.3f\\t RMSE_LS: %.3f\" %(lam, len(selected_features), RMSE_LASSO, RMSE_LS)", + "print pd.DataFrame({'features':np.array(selected_features), 'abs(nonzero_coef_LASSO)': np.abs(coef[coef.nonzero()])})", " " - ] + ], + "hidden": true }, "output": { "state": {}, - "result": { - "type": "Results", - "outputdata": [ - { - "type": "out", - "value": "lambda: 0.08\t dimension of descriptor: 4\t RMSE: 0.25117099834\n abs(coef) features\n0 0.024611 |r_s(A)-r_p(A)|\n1 0.085796 r_p(A)+r_p(B)\n2 0.168681 r_p(A)+r_d(B)\n3 0.039066 |r_p(A)-r_d(B)|\n" - } - ], - "payload": "<div class=\"output_subarea output_png\"><img src=\"data:image/png;base64,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\nJLVmmEiSWvv/0WcT5IT/G+MAAAAASUVORK5CYII=\n\"></div>" - }, "selectedType": "Results", "pluginName": "IPython", - "shellId": "2004E48BC16641468283EE122E3F2C49", - "elapsedTime": 1101, - "height": 412, + "shellId": "4B35956E29D047B389A3AA6E8297BBBD", + "height": 0, "dataresult": "\n1D RMSE: 0.296667854538 best features: [u'r_p(A)+r_d(B)']\n\n\n2D RMSE: 0.194137980385 best features: [u'r_p(A)+r_s(B)', u'(r_p(A)+r_s(B))^2']\n\n3D RMSE: 0.170545574785 best features: [u'r_p(A)+r_s(B)', u'(r_p(A)+r_s(B))^2', u'exp(r_p(A)+r_s(B))']\n" }, "evaluatorReader": true, "lineCount": 9, "tags": "lambda_cell" }, + { + "id": "section0K9XU9", + "type": "section", + "title": "The LASSO+$\\ell_0$-method", + "level": 2, + "evaluatorReader": false, + "collapsed": false + }, { "id": "markdownMRkeOn", "type": "markdown", "body": [ - "And what about the L1+L0 method?" + "In the follwoing cell, the LASSO+$\\ell_0$ method is implemented. Just run the cell." ], "evaluatorReader": false }, @@ -1428,8 +1213,9 @@ "body": [ "from sklearn.linear_model import Lasso", "import scipy.stats as ss", + "from itertools import combinations", "", - "def iter_LASSO(P , D, lambda_grid, lasso_number=30, print_lasso=False):", + "def iter_lasso(P , D, lambda_grid, lasso_number=30, print_lasso=False):", " collection=[]", " if print_lasso:", " print 'lamda #collected Indices'", @@ -1476,14 +1262,14 @@ " string += '%s %.3f' %(sign,c)", " return string", "", - "def L1_L0(P,D,features, dimrange=range(1,1+3),lasso_number=30,lambda_grid_points=150,lambda_max_factor=1.0,lambda_min_factor=0.001,print_lasso=False,lambda_grid=None, print_model=False): ", + "def lasso_L0(P,D,features, dimrange=range(1,1+3), lasso_number=30, lambda_grid_points=150, lambda_max_factor=1.0, lambda_min_factor=0.001, print_lasso=False, lambda_grid=None, print_model=False): ", " D_standardized = np.array(ss.zscore(D))", " ", " # get lambda grid where maximumx value is maximum lambda with nonzero LASSO solution", " lambda_grid = evaluate_lambda_grid(P, D_standardized)", " ", " # collect first lasso_number features appearing when tuning lambda down", - " collection = iter_LASSO(P , D_standardized, lambda_grid, lasso_number=lasso_number, print_lasso=print_lasso) ", + " collection = iter_lasso(P , D_standardized, lambda_grid, lasso_number=lasso_number, print_lasso=print_lasso) ", " ", " D_collection = D[:,collection]", " ", @@ -1507,76 +1293,81 @@ "state": {}, "selectedType": "Hidden", "pluginName": "IPython", - "shellId": "C52E2607E20544C788411157B4CD5289", - "elapsedTime": 565, + "shellId": "4B35956E29D047B389A3AA6E8297BBBD", "height": 78 }, "evaluatorReader": true, - "lineCount": 75, - "tags": "L1_L0" + "lineCount": 76, + "tags": "lasso_L0" }, { - "id": "codewRNOmz", + "id": "codeTMeEsa", "type": "code", "evaluator": "IPython", "input": { "body": [ - "out = L1_L0(P, D, feature_list, print_lasso=False, lasso_number=30, print_model=True)" + "#import Data", + "selected_feature_list = ['atomic_rs_max', 'atomic_rp_max', 'atomic_rd_max']", + "allowed_operations = ['+','|-|','exp', '^2']", + "P, D, feature_list, compounds_list, json_paths = get_data(selected_feature_list, allowed_operations)" ] }, "output": { "state": {}, - "result": { - "type": "Results", - "outputdata": [ - { - "type": "out", - "value": "[142, 150, 222, 494, 569, 581, 674, 843, 851, 872, 877, 914, 1095, 1114, 1229, 1439, 1481, 1628, 1963, 2094, 2099, 2103, 2248, 2585, 2709, 2835, 2867, 3112, 3113, 3120]\n0.13721197009\n[-0.05523008 -0.3324946 ]\n(9,)\n0.100215551014\n[ 0.11425013 -1.48249995 -0.14471518]\n(15, 18)\n0.0776915315193" - }, - { - "type": "out", - "value": "\n[ 0.10938747 -1.67785644 -9.07743361 -0.03792153]\n(15, 18, 27)\n RMSE Model\n1D:\t0.137212\t- 0.055 IP(A)+IP(B)/r_p(A)^2 - 0.332\n2D:\t0.100216\t+ 0.114 |IP(B)-EA(B)|/r_p(A)^2 - 1.482 |r_s(A)-r_p(B)|/exp(r_s(A)) - 0.145\n3D:\t0.077692\t+ 0.109 |IP(B)-EA(B)|/r_p(A)^2 - 1.678 |r_s(A)-r_p(B)|/exp(r_s(A)) - 9.077 |r_s(B)-r_p(B)|/exp(r_d(A)+r_s(B)) - 0.038\n" - } - ] - }, "selectedType": "Results", "pluginName": "IPython", - "shellId": "2004E48BC16641468283EE122E3F2C49", - "elapsedTime": 9307, - "height": 288 + "shellId": "4B35956E29D047B389A3AA6E8297BBBD", + "height": 0 }, "evaluatorReader": true, - "lineCount": 1 + "lineCount": 4 + }, + { + "id": "markdownWLKH4F", + "type": "markdown", + "body": [ + "Now run the 'lasso_L0' function. How does the LASSO+$\\ell_0$-method compare to the LASSO and to the $\\ell_0$-regularization in terms of accuracy? How fast ist the LASSO+$\\ell_0$-method compared to the $\\ell_0$-regularization? If 'print_lasso' is set 'True' the indices of the non-zero coefficients are displayed in each $\\lambda$ step. The argument 'lasso_number' specifies how many features shall be collected in the LASSO part. " + ], + "evaluatorReader": false }, { - "id": "codepuhfUf", + "id": "codewRNOmz", "type": "code", - "evaluator": "HTML", + "evaluator": "IPython", "input": { "body": [ - "<font size=\"+2\" face=\"Impact\">4. Playing around with the L1+L0 tool and vizualization of the descriptors (OPTIONAL)</font> <br> <br>", - "<form action=\"/html/tags/html_form_tag_action.cfm\" method=\"post\">", - "<textarea name=\"comments\" id=\"comments\" style=\"width:96%;padding:1%;height:160px;font:18px/26px cursive;border:17px double green;\">", - "The same as the LASSO+L0 tutorial in the analytics-toolkit.", - "See that the performance is influenced by the considered set of primary features or allowed operations.", - "</textarea><br>", - "</form>" - ], - "hidden": true + "out = lasso_L0(P, D, feature_list, print_lasso=True, lasso_number=30, print_model=True)" + ] }, "output": { "state": {}, - "result": { - "type": "BeakerDisplay", - "innertype": "Html", - "object": "<script>\nvar beaker = bkHelper.getBeakerObject().beakerObj;\n</script>\n<font size=\"+2\" face=\"Impact\">4. Playing around with the L1+L0 tool and vizualization of the descriptors (OPTIONAL)</font> <br> <br>\n<form action=\"/html/tags/html_form_tag_action.cfm\" method=\"post\">\n<textarea name=\"comments\" id=\"comments\" style=\"width:96%;padding:1%;height:160px;font:18px/26px cursive;border:17px double green;\">The same as the LASSO+L0 tutorial in the analytics-toolkit.\nSee that the performance is influenced by the considered set of primary features or allowed operations.\n</textarea><br>\n</form>" - }, - "selectedType": "BeakerDisplay", - "elapsedTime": 0, - "height": 249 + "selectedType": "Results", + "pluginName": "IPython", + "shellId": "4B35956E29D047B389A3AA6E8297BBBD", + "height": 0 }, "evaluatorReader": true, - "lineCount": 7 + "lineCount": 1 + }, + { + "id": "sectionAFf1Fp", + "type": "section", + "title": "Visualization of the descriptors and experimenting with the LASSO+$\\ell_0$ tool", + "level": 1, + "evaluatorReader": false, + "collapsed": true + }, + { + "id": "markdownlb696i", + "type": "markdown", + "body": [ + "<summary>", + "<li>Reproduce the results from the <a href=\"http://journals.aps.org/prl/abstract/10.1103/PhysRevLett.114.105503\" target=\"_blank\">reference publication</a> by including further features.</li>", + "<li>Visualize the 2D descriptors in an interactive structure map.</li>", + "<li>Experiment with different settings and investigate the influence of the input parameters on the results. (OPTIONAL)</li>", + "</summary>" + ], + "evaluatorReader": false }, { "id": "codeh96cIm", @@ -1584,68 +1375,33 @@ "evaluator": "JavaScript", "input": { "body": [ - "var functions_list = [\"json_list\", \"nomad_structure_list\", \"get_energies\", \"get_energy_diffs\", \"get_descriptors\", \"get_data\", \"L0\", \"L1_L0\"];", + "// 'Import' relevant functions from chapters before", + "var functions_list = [\"json_list\", \"nomad_structure_list\", \"get_energies\", \"get_energy_diffs\", \"get_descriptors\", \"get_data\", \"L0\", \"lasso_L0\"];", "var n_functions = functions_list.length", "var i;", "for (i = 0; i < n_functions; i++) {", " beaker.evaluate(functions_list[i]);", " beaker.print('import '+functions_list[i]);", "}" - ], - "hidden": true + ] }, "output": { "state": {}, - "result": { - "type": "Results", - "outputdata": [ - { - "type": "out", - "value": "import json_list\n" - }, - { - "type": "out", - "value": "import nomad_structure_list\n" - }, - { - "type": "out", - "value": "import get_energies\n" - }, - { - "type": "out", - "value": "import get_energy_diffs\n" - }, - { - "type": "out", - "value": "import get_descriptors\n" - }, - { - "type": "out", - "value": "import get_data\n" - }, - { - "type": "out", - "value": "import L0\n" - }, - { - "type": "out", - "value": "import L1_L0\n" - } - ] - }, "selectedType": "Results", "pluginName": "JavaScript", - "elapsedTime": 1742, - "height": 172 + "height": 0 }, "evaluatorReader": true, - "lineCount": 7 + "lineCount": 8 }, { "id": "markdownk3cQaO", "type": "markdown", "body": [ - "Play, now, with more features, operations and plot afterwards the 2D map for the identified 2D descriptor. The same on https://analytics-toolkit.nomad-coe.eu/home/, with an interface...." + "By just clicking 'CALCULATE' in the HTML cell all follwing cells of this chapter will be run performing the LASSO+$\\ell_0$ method and generating a structure map with the found 2D descriptor. Click 'View interactiv 2D scater plot' to see the structure map. You do not need to investigate the remaining cells. ", + "Note the size of the feature space, the needed time to run the code and the accuracy (using the default settings)!", + "", + "If you have enough time you can experiment, now, with the LASSO+$\\ell_0$ tool including different primary features, arithmetic operations or changing the number of features ('lasso_number') collected in the LASSO step. There is also a <a href=\"http://analytics-toolkit.nomad-coe.eu/tutorial-LASSO_L0\">version of the LASSO+$\\ell_0$ tool with an interface</a>." ], "evaluatorReader": false }, @@ -1658,17 +1414,18 @@ "<script>", "var run_lasso = function() {", " $(\"#lasso_result_button\").removeClass(\"active\").addClass(\"disabled\");", - " beaker.evaluate(\"calc_cell\"); // evaluate cells with tag \"lasso_cell\"", - " // view_result()", + " beaker.evaluate(\"calc_cell\"); ", "};", + "beaker.view_result = function(result_link) {", + " $(\"#lasso_result_button\").attr(\"href\", result_link);", + " $(\"#lasso_result_button\").removeClass(\"disabled\").addClass(\"active\");", + "}", "</script>", - "", "<div class=\"lasso_control\">", " <p style=\"margin-top: 1ex;\"></p>", - " <button class=\"btn btn-default\" onclick='run_lasso()' style=\"font-weight: bold;\">RUN</button> ", + " <button class=\"btn btn-default\" onclick='run_lasso()' style=\"font-weight: bold;\">CALCULATE</button> ", " <label title=\"This button becomes active when the", - "run is finished. By clicking it, an interactive plot of the first 2", - "dimensions of the optimized descriptor will be opened\"> ", + "run is finished. By clicking it, an interactive plot of the 2D-descriptor will be opened\"> ", " <a href=\"#\" target=\"_blank\" class=\"btn btn-primary disabled\" id=\"lasso_result_button\" >View interactive 2D scatter plot</a> </label>", "</div>", "" @@ -1677,17 +1434,18 @@ }, "output": { "state": {}, + "selectedType": "BeakerDisplay", + "height": 0, "result": { "type": "BeakerDisplay", "innertype": "Html", - "object": "<script>\nvar beaker = bkHelper.getBeakerObject().beakerObj;\n</script>\n<script>\nvar run_lasso = function() {\n $(\"#lasso_result_button\").removeClass(\"active\").addClass(\"disabled\");\n beaker.evaluate(\"calc_cell\"); // evaluate cells with tag \"lasso_cell\"\n // view_result()\n};\n</script>\n\n<div class=\"lasso_control\">\n <p style=\"margin-top: 1ex;\"></p>\n <button class=\"btn btn-default\" onclick=\"run_lasso()\" style=\"font-weight: bold;\">RUN</button> \n <label title=\"This button becomes active when the\nrun is finished. By clicking it, an interactive plot of the first 2\ndimensions of the optimized descriptor will be opened\"> \n <a href=\"/user/tmp/8a055c69f90b5155.html\" target=\"_blank\" class=\"btn btn-primary active\" id=\"lasso_result_button\">View interactive 2D scatter plot</a> </label>\n</div>\n" + "object": "<script>\nvar beaker = bkHelper.getBeakerObject().beakerObj;\n</script>\n<script>\nvar run_lasso = function() {\n $(\"#lasso_result_button\").removeClass(\"active\").addClass(\"disabled\");\n beaker.evaluate(\"calc_cell\"); \n};\nbeaker.view_result = function(result_link) {\n $(\"#lasso_result_button\").attr(\"href\", result_link);\n $(\"#lasso_result_button\").removeClass(\"disabled\").addClass(\"active\");\n}\n</script>\n<div class=\"lasso_control\">\n <p style=\"margin-top: 1ex;\"></p>\n <button class=\"btn btn-default\" onclick='run_lasso()' style=\"font-weight: bold;\">CALCULATE</button> \n <label title=\"This button becomes active when the\nrun is finished. By clicking it, an interactive plot of the 2D-descriptor will be opened\"> \n <a href=\"#\" target=\"_blank\" class=\"btn btn-primary disabled\" id=\"lasso_result_button\" >View interactive 2D scatter plot</a> </label>\n</div>\n" }, - "selectedType": "BeakerDisplay", - "elapsedTime": 0, - "height": 87 + "elapsedTime": 0 }, "evaluatorReader": true, - "lineCount": 17 + "lineCount": 18, + "initialization": true }, { "id": "codeo0JBr5", @@ -1695,31 +1453,22 @@ "evaluator": "IPython", "input": { "body": [ - "#possible features: 'atomic_ionization_potential', 'atomic_electron_affinity', 'atomic_rs_max', 'atomic_rp_max','atomic_rd_max' ...", - "#possible operations: '+','|-|','exp', '^2', '/' ...\\", + "#possible operations: '+', '-', '|-|', '*', '/' '^2', '^3', 'exp'", + "#possible features: \"atomic_ionization_potential\", \"atomic_electron_affinity\", \"atomic_homo\", \"atomic_lumo\", \"atomic_rs_max\", \"atomic_rp_max\", \"atomic_rd_max\", \"atomic_number\", \"atomic_number_valence_electrons\", \"period\", \"atomic_r_by_2_dimer\", \"atomic_electronic_binding_energy_dimer\", \"atomic_electronic_binding_energy_dimer\"", + " ", "", "selected_feature_list = ['atomic_ionization_potential', 'atomic_electron_affinity', 'atomic_rs_max', 'atomic_rp_max','atomic_rd_max']", "allowed_operations = ['+','|-|','exp','^2', '/']", - "allowed_operations = ['+']", "P, D, feature_list, compounds_list, json_paths = get_data(selected_feature_list, allowed_operations)", - "out = L1_L0(P, D, feature_list, print_lasso=False, lasso_number=50, print_model=True)" + "out = lasso_L0(P, D, feature_list, print_lasso=False, lasso_number=50, print_model=True)" ] }, "output": { "state": {}, - "result": { - "type": "BeakerDisplay", - "innertype": "Error", - "object": [ - "name 'get_data' is not defined", - "name 'get_data' is not defined<br><span class=\"ansired\">---------------------------------------------------------------------------</span><br><span class=\"ansired\">NameError</span> Traceback (most recent call last)<br><span class=\"ansigreen\"><ipython-input-1-9ec1b028ce13></span> in <span class=\"ansicyan\"><module><span class=\"ansiblue\">()</span>\n<span class=\"ansigreen\"> 5</span> allowed_operations <span class=\"ansiyellow\">=</span> <span class=\"ansiyellow\">[</span><span class=\"ansiblue\">'+'</span><span class=\"ansiyellow\">,</span><span class=\"ansiblue\">'|-|'</span><span class=\"ansiyellow\">,</span><span class=\"ansiblue\">'exp'</span><span class=\"ansiyellow\">,</span><span class=\"ansiblue\">'^2'</span><span class=\"ansiyellow\">,</span> <span class=\"ansiblue\">'/'</span><span class=\"ansiyellow\">]</span><span class=\"ansiyellow\"></span>\n<span class=\"ansigreen\"> 6</span> allowed_operations <span class=\"ansiyellow\">=</span> <span class=\"ansiyellow\">[</span><span class=\"ansiblue\">'+'</span><span class=\"ansiyellow\">]</span><span class=\"ansiyellow\"></span>\n<span class=\"ansigreen\">----> 7<span class=\"ansiyellow\"> </span>P<span class=\"ansiyellow\">,</span> D<span class=\"ansiyellow\">,</span> feature_list<span class=\"ansiyellow\">,</span> compounds_list<span class=\"ansiyellow\">,</span> json_paths <span class=\"ansiyellow\">=</span> get_data<span class=\"ansiyellow\">(</span>selected_feature_list<span class=\"ansiyellow\">,</span> allowed_operations<span class=\"ansiyellow\">)</span><span class=\"ansiyellow\"></span>\n<span class=\"ansigreen\"> 8</span> out <span class=\"ansiyellow\">=</span> L1_L0<span class=\"ansiyellow\">(</span>P<span class=\"ansiyellow\">,</span> D<span class=\"ansiyellow\">,</span> feature_list<span class=\"ansiyellow\">,</span> print_lasso<span class=\"ansiyellow\">=</span>False<span class=\"ansiyellow\">,</span> lasso_number<span class=\"ansiyellow\">=</span><span class=\"ansicyan\">50</span><span class=\"ansiyellow\">,</span> print_model<span class=\"ansiyellow\">=</span>True<span class=\"ansiyellow\">)</span><span class=\"ansiyellow\"></span>\n<br><span class=\"ansired\">NameError</span>: name 'get_data' is not defined" - ] - }, - "selectedType": "BeakerDisplay", + "selectedType": "Results", "pluginName": "IPython", - "shellId": "109035019D6148B2917DFA4522E8810D", - "elapsedTime": 1240, - "height": 81 + "shellId": "4B35956E29D047B389A3AA6E8297BBBD", + "height": 0 }, "evaluatorReader": true, "lineCount": 8, @@ -1759,7 +1508,7 @@ "name_html_page = hashlib.sha224(str(parameter_list)).hexdigest()[:16]", "beaker.viewer_result_ZB_RS = name_html_page", "with open(tmp_folder+'output.log', 'w') as f:", - " f.write(\"Descriptors: %s,%s \\nCoefficients: %s\\n RMSE: %s\\n Allowed operations: %s\" ", + " f.write(\"Descriptors: %s, %s \\nCoefficients: %s\\n RMSE: %s\\n Allowed operations: %s\\n\" ", " %(x_axis_label, y_axis_label, coef, RMSE, allowed_operations))", "", "operated_structure_list = _get_structures(json_list=json_paths, file_format='NOMAD', frame_list=frame_list, tmp_folder=tmp_folder,", @@ -1776,24 +1525,19 @@ " plot_convex_hull=False, is_classification=False,", " x_axis_label=x_axis_label, y_axis_label=y_axis_label, plot_title=plot_title,", " tmp_folder=tmp_folder)" - ] + ], + "hidden": true }, "output": { "state": {}, - "result": { - "type": "BeakerDisplay", - "innertype": "Error", - "object": "Evaluation cancelled due to a failure of an earlier cell evaluation" - }, - "selectedType": "BeakerDisplay", + "selectedType": "Results", "pluginName": "IPython", - "shellId": "C52E2607E20544C788411157B4CD5289", - "elapsedTime": 5624, + "shellId": "4B35956E29D047B389A3AA6E8297BBBD", "dataresult": [ "<a target=_blank href='/user/tmp/fc8a35bc76611011.html'>Click here to open the Viewer</a>", "/home/beaker/.beaker/v1/web/tmp/fc8a35bc76611011.html" ], - "height": 78 + "height": 0 }, "evaluatorReader": true, "lineCount": 45, @@ -1805,58 +1549,39 @@ "evaluator": "JavaScript", "input": { "body": [ - "beaker.view_result = function(result_link) {", - " $(\"#lasso_result_button\").attr(\"href\", result_link);", - " $(\"#lasso_result_button\").removeClass(\"disabled\").addClass(\"active\");", - "}", "var result_link = '/user/tmp/' + beaker.viewer_result_ZB_RS + '.html';", "beaker.view_result(result_link);" - ] + ], + "hidden": true }, "output": { "state": {}, "selectedType": "BeakerDisplay", "pluginName": "JavaScript", - "height": 78, - "elapsedTime": 87, - "result": { - "type": "BeakerDisplay", - "innertype": "Error", - "object": "Evaluation cancelled due to a failure of an earlier cell evaluation" - } + "height": 0 }, "evaluatorReader": true, - "lineCount": 6, + "lineCount": 2, "tags": "calc_cell" }, { - "id": "codeJpdFAc", - "type": "code", - "evaluator": "HTML", - "input": { - "body": [ - "<font size=\"+2\" face=\"Impact\">5. Predicting properties of new materials</font> <br> <br>", - "<form action=\"/html/tags/html_form_tag_action.cfm\" method=\"post\">", - "<textarea name=\"comments\" id=\"comments\" style=\"width:96%;padding:1%;height:160px;font:18px/26px cursive;border:17px double green;\">", - "Do LOOCV ...", - "</textarea><br>", - "</form>" - ], - "hidden": true - }, - "output": { - "state": {}, - "result": { - "type": "BeakerDisplay", - "innertype": "Html", - "object": "<script>\nvar beaker = bkHelper.getBeakerObject().beakerObj;\n</script>\n<font size=\"+2\" face=\"Impact\">5. Predicting properties of new materials</font> <br> <br>\n<form action=\"/html/tags/html_form_tag_action.cfm\" method=\"post\">\n<textarea name=\"comments\" id=\"comments\" style=\"width:96%;padding:1%;height:160px;font:18px/26px cursive;border:17px double green;\">Do LOOCV ...\n</textarea><br>\n</form>" - }, - "selectedType": "BeakerDisplay", - "height": 249, - "elapsedTime": 0 - }, - "evaluatorReader": true, - "lineCount": 6 + "id": "sectionI0mFHO", + "type": "section", + "title": "Predicting properties of new materials", + "level": 1, + "evaluatorReader": false, + "collapsed": true + }, + { + "id": "markdownzajQdg", + "type": "markdown", + "body": [ + "<summary>", + "<li>Perform a leave-one-out cross-validation (LOOCV) using the LASSO+$\\ell_0$ method.</li>", + "<li>Analyze the prediction accuracy and how often the same descriptor is selected.</li>", + "</summary>" + ], + "evaluatorReader": false }, { "id": "codeHbn2aL", @@ -1864,68 +1589,32 @@ "evaluator": "JavaScript", "input": { "body": [ - "var functions_list = [\"json_list\", \"nomad_structure_list\", \"get_energies\", \"get_energy_diffs\", \"get_descriptors\", \"get_data\", \"L0\", \"L1_L0\"];", + "// 'Import' relevant functions from chapters before", + "var functions_list = [\"json_list\", \"nomad_structure_list\", \"get_energies\", \"get_energy_diffs\", \"get_descriptors\", \"get_data\", \"L0\", \"lasso_L0\"];", "var n_functions = functions_list.length", "var i;", "for (i = 0; i < n_functions; i++) {", " beaker.evaluate(functions_list[i]);", " beaker.print('import '+functions_list[i]);", "}" - ], - "hidden": true + ] }, "output": { "state": {}, - "result": { - "type": "Results", - "outputdata": [ - { - "type": "out", - "value": "import json_list\n" - }, - { - "type": "out", - "value": "import nomad_structure_list\n" - }, - { - "type": "out", - "value": "import get_energies\n" - }, - { - "type": "out", - "value": "import get_energy_diffs\n" - }, - { - "type": "out", - "value": "import get_descriptors\n" - }, - { - "type": "out", - "value": "import get_data\n" - }, - { - "type": "out", - "value": "import L0\n" - }, - { - "type": "out", - "value": "import L1_L0\n" - } - ] - }, "selectedType": "Results", "pluginName": "JavaScript", - "elapsedTime": 1436, - "height": 172 + "height": 0 }, "evaluatorReader": true, - "lineCount": 7 + "lineCount": 8 }, { "id": "markdownvfZJaN", "type": "markdown", "body": [ - "We obtain good fits. But what about predicting Ediff of a new material? We test the prediction performance via leave one out CV. How is the prediction error compared to the fitting error? How often is the same descriptor selected?" + "We have seen that we can fit the energy differences of materials accurately. But what about predicting the energy difference of a 'new' material (which was not included when determining the model)? We test the prediction performance via LOOCV. In a LOOCV for each material the following procedure is performed: the selected material is excluded, the model is built on the remaining materials and the model accurcy is tested on the left out material . This means that we need to run the LASSO+$l_0$ function 82 times. <br>", + "Get the data in the next cell and run the LOOCV one cell after. Note that running the LOOCV could take up to ten minutes. Use the remaining two cells of this chapter to analyse the results.<br>", + "How is the prediction error compared to the fitting error? How often is the same descriptor selected? Are there materials which had a outlying high/low error?" ], "evaluatorReader": false }, @@ -1943,46 +1632,21 @@ }, "output": { "state": {}, - "result": { - "type": "Results", - "outputdata": [ - { - "type": "err", - "value": "INFO: Selected operations:\n ['+', '|-|', 'exp', '^2', '/']\n" - }, - { - "type": "err", - "value": "INFO: Number of total features generated: 3391\n" - } - ] - }, "selectedType": "Results", "pluginName": "IPython", - "shellId": "C52E2607E20544C788411157B4CD5289", - "height": 89, - "elapsedTime": 7663 + "shellId": "4B35956E29D047B389A3AA6E8297BBBD", + "height": 0 }, "evaluatorReader": true, "lineCount": 4 }, - { - "id": "markdownUgg3tS", - "type": "markdown", - "body": [ - "(For a fast run set lasso_number=3 )" - ], - "evaluatorReader": false - }, { "id": "codel2Xara", "type": "code", "evaluator": "IPython", "input": { "body": [ - "from IPython.display import display", "from collections import Counter", - "pd.set_option('max_colwidth', 800)", - "pd.set_option('display.expand_frame_repr', False)", "", "def split_data(P, D, cv_i):", " P_1, P_test, P_2 = np.split(P, [cv_i, cv_i+1])", @@ -1997,15 +1661,16 @@ "dimensions = range(1,4)", "features_count = [[] for i in range(3)]", "P_predict = np.empty([len(dimensions),compounds])", + "print \"####### The LOOCV could take up to 10 minutes #######\\n\"", "for cv_i in range(compounds):", - " print 'Leave out %s: Ediff_ref = %s eV' %(compounds_list[cv_i],P[cv_i]) ", + " print '%2s) Leave out %s: Ediff_ref = %s eV' %(cv_i+1, compounds_list[cv_i],P[cv_i]) ", " P_train, P_test, D_train, D_test = split_data(P, D, cv_i)", - " out = L1_L0(P_train, D_train, feature_list, print_lasso=False, lasso_number=3, print_model=True)", + " out = lasso_L0(P_train, D_train, feature_list, print_lasso=False, lasso_number=20, print_model=True)", " ", " for dim in dimensions:", " indices_for_D, coef, RMSE = out[dim-1] ", " features = [ feature_list[i] for i in indices_for_D]", - " predicted_val = np.dot(D_test[:, indices_for_D+[-1]], coef)", + " predicted_val = np.dot(D_test[:, indices_for_D+[-1]], coef)[0]", " ", " features_count[dim-1].append( tuple(features) ) ", " P_predict[dim-1,cv_i] = predicted_val", @@ -2016,352 +1681,14 @@ }, "output": { "state": {}, - "result": { - "type": "Results", - "outputdata": [ - { - "type": "out", - "value": "Leave out SeZn: Ediff_ref = 0.263136899281 eV\n RMSE Model\n1D:\t0.137497\t- 0.055 IP(A)+IP(B)/r_p(A)^2 - 0.334\n2D:\t0.124375\t- 0.029 IP(A)+IP(B)/r_p(A)^2 + 0.169 |IP(B)-EA(B)|/exp(r_p(A)^2) - 0.273\n3D:\t0.124144\t- 0.024 IP(A)+IP(B)/r_p(A)^2 + 0.014 |IP(B)-EA(B)|/r_p(A)^2 + 0.158 |IP(B)-EA(B)|/exp(r_p(A)^2) - 0.279" - }, - { - "type": "out", - "value": "\nEdiff_predicted(1D) = [ 0.15075502] eV\nEdiff_predicted(2D) = [ 0.10408768] eV\nEdiff_predicted(3D) = [ 0.09614296] eV\n-----\nLeave out InSb: Ediff_ref = 0.0780598730198 eV\n RMSE Model\n1D:\t0.137854\t- 0.055 IP(A)+IP(B)/r_p(A)^2 - 0.334\n2D:\t0.125459\t- 0.030 IP(A)+IP(B)/r_p(A)^2 + 0.164 |IP(B)-EA(B)|/exp(r_p(A)^2) - 0.274\n3D:\t0.124632\t- 0.016 IP(A)+IP(B)/r_p(A)^2 - 0.058 IP(A)+IP(B)/(r_s(A)+r_p(A))^2 + 0.157 |IP(B)-EA(B)|/exp(r_p(A)^2) - 0.301" - }, - { - "type": "out", - "value": "\nEdiff_predicted(1D) = [ 0.0104307] eV\nEdiff_predicted(2D) = [ 0.02426716] eV\nEdiff_predicted(3D) = [ 0.02624361] eV\n-----\nLeave out CuI: Ediff_ref = 0.204674583263 eV\n RMSE Model\n1D:\t0.136996\t- 0.055 IP(A)+IP(B)/r_p(A)^2 - 0.335\n2D:\t0.123637\t- 0.029 IP(A)+IP(B)/r_p(A)^2 + 0.170 |IP(B)-EA(B)|/exp(r_p(A)^2) - 0.274\n3D:\t0.123420\t- 0.024 IP(A)+IP(B)/r_p(A)^2 + 0.014 |IP(B)-EA(B)|/r_p(A)^2 + 0.159 |IP(B)-EA(B)|/exp(r_p(A)^2) - 0.280" - }, - { - "type": "out", - "value": "\nEdiff_predicted(1D) = [ 0.05002566] eV\nEdiff_predicted(2D) = [ 0.00365522] eV\nEdiff_predicted(3D) = [-0.00172148] eV\n-----\nLeave out SZn: Ediff_ref = 0.275813325607 eV\n RMSE Model\n1D:\t0.137564\t- 0.055 IP(A)+IP(B)/r_p(A)^2 - 0.334\n2D:\t0.121381\t+ 1.164 |IP(A)-EA(B)|/exp(r_p(A)+r_d(B)) + 0.201 |IP(B)-EA(B)|/exp(r_p(A)^2) - 0.238\n3D:\t0.117023\t- 0.017 IP(A)+IP(B)/r_p(A)^2 + 0.847 |IP(A)-EA(B)|/exp(r_p(A)+r_d(B)) + 0.136 |IP(B)-EA(B)|/exp(r_p(A)^2) - 0.274" - }, - { - "type": "out", - "value": "\nEdiff_predicted(1D) = [ 0.17034522] eV\nEdiff_predicted(2D) = [ 0.09354659] eV\nEdiff_predicted(3D) = [ 0.11807569] eV\n-----\nLeave out BN: Ediff_ref = 1.71208026084 eV\n RMSE Model\n1D:\t0.133112\t- 0.211 IP(A)+IP(B)/(r_s(A)+r_p(A))^2 - 0.408\n2D:\t0.124809\t- 0.124 IP(A)+IP(B)/(r_s(A)+r_p(A))^2 + 0.147 |IP(B)-EA(B)|/exp(r_p(A)^2) - 0.326\n3D:\t0.123889\t- 0.016 IP(A)+IP(B)/r_p(A)^2 - 0.070 IP(A)+IP(B)/(r_s(A)+r_p(A))^2 + 0.135 |IP(B)-EA(B)|/exp(r_p(A)^2) - 0.309" - }, - { - "type": "out", - "value": "\nEdiff_predicted(1D) = [ 1.30359451] eV\nEdiff_predicted(2D) = [ 1.54804489] eV\nEdiff_predicted(3D) = [ 1.55089326] eV\n-----\nLeave out OSr: Ediff_ref = -0.220306623174 eV\n RMSE Model\n1D:\t0.137775\t- 0.055 IP(A)+IP(B)/r_p(A)^2 - 0.331\n2D:\t0.125462\t- 0.030 IP(A)+IP(B)/r_p(A)^2 + 0.163 |IP(B)-EA(B)|/exp(r_p(A)^2) - 0.272\n3D:\t0.124664\t- 0.016 IP(A)+IP(B)/r_p(A)^2 - 0.057 IP(A)+IP(B)/(r_s(A)+r_p(A))^2 + 0.157 |IP(B)-EA(B)|/exp(r_p(A)^2) - 0.299" - }, - { - "type": "out", - "value": "\nEdiff_predicted(1D) = [-0.14037278] eV\nEdiff_predicted(2D) = [-0.16694362] eV\nEdiff_predicted(3D) = [-0.17513133] eV\n-----\nLeave out BrRb: Ediff_ref = -0.163820531423 eV\n RMSE Model\n1D:\t0.137783\t- 0.055 IP(A)+IP(B)/r_p(A)^2 - 0.334\n2D:\t0.125311\t- 0.115 IP(A)+IP(B)/(r_s(A)+r_p(A))^2 + 0.168 |IP(B)-EA(B)|/exp(r_p(A)^2) - 0.321\n3D:\t0.124461\t- 0.015 IP(A)+IP(B)/r_p(A)^2 - 0.062 IP(A)+IP(B)/(r_s(A)+r_p(A))^2 + 0.156 |IP(B)-EA(B)|/exp(r_p(A)^2) - 0.304" - }, - { - "type": "out", - "value": "\nEdiff_predicted(1D) = [-0.24274969] eV\nEdiff_predicted(2D) = [-0.25499139] eV\nEdiff_predicted(3D) = [-0.2433736] eV\n-----\nLeave out BaTe: Ediff_ref = -0.375386809668 eV\n RMSE Model\n1D:\t0.136799\t- 0.055 IP(A)+IP(B)/r_p(A)^2 - 0.329\n2D:\t0.121380\t+ 1.169 |IP(A)-EA(B)|/exp(r_p(A)+r_d(B)) + 0.199 |IP(B)-EA(B)|/exp(r_p(A)^2) - 0.232\n3D:\t0.116736\t- 0.018 IP(A)+IP(B)/r_p(A)^2 + 0.842 |IP(A)-EA(B)|/exp(r_p(A)+r_d(B)) + 0.132 |IP(B)-EA(B)|/exp(r_p(A)^2) - 0.270" - }, - { - "type": "out", - "value": "\nEdiff_predicted(1D) = [-0.20645395] eV\nEdiff_predicted(2D) = [-0.19253215] eV\nEdiff_predicted(3D) = [-0.20100616] eV\n-----\nLeave out BeSe: Ediff_ref = 0.494940442775 eV\n RMSE Model\n1D:\t0.137905\t- 0.055 IP(A)+IP(B)/r_p(A)^2 - 0.333\n2D:\t0.125493\t- 0.029 IP(A)+IP(B)/r_p(A)^2 + 0.164 |IP(B)-EA(B)|/exp(r_p(A)^2) - 0.273\n3D:\t0.125311\t- 0.025 IP(A)+IP(B)/r_p(A)^2 + 0.013 |IP(B)-EA(B)|/r_p(A)^2 + 0.154 |IP(B)-EA(B)|/exp(r_p(A)^2) - 0.279" - }, - { - "type": "out", - "value": "\nEdiff_predicted(1D) = [ 0.4361136] eV\nEdiff_predicted(2D) = [ 0.44794924] eV\nEdiff_predicted(3D) = [ 0.43476893] eV\n-----\nLeave out MgS: Ediff_ref = -0.0866995049882 eV\n RMSE Model\n1D:\t0.137906\t- 0.055 IP(A)+IP(B)/r_p(A)^2 - 0.332\n2D:\t0.125588\t- 0.029 IP(A)+IP(B)/r_p(A)^2 + 0.164 |IP(B)-EA(B)|/exp(r_p(A)^2) - 0.273\n3D:\t0.124736\t- 0.016 IP(A)+IP(B)/r_p(A)^2 - 0.059 IP(A)+IP(B)/(r_s(A)+r_p(A))^2 + 0.157 |IP(B)-EA(B)|/exp(r_p(A)^2) - 0.300" - }, - { - "type": "out", - "value": "\nEdiff_predicted(1D) = [-0.02829048] eV\nEdiff_predicted(2D) = [-0.07112915] eV\nEdiff_predicted(3D) = [-0.06322128] eV\n-----\nLeave out GaN: Ediff_ref = 0.433445239094 eV\n RMSE Model\n1D:\t0.136889\t- 0.055 IP(A)+IP(B)/r_p(A)^2 - 0.334\n2D:\t0.123036\t+ 1.173 |IP(A)-EA(B)|/exp(r_p(A)+r_d(B)) + 0.200 |IP(B)-EA(B)|/exp(r_p(A)^2) - 0.236\n3D:\t0.118135\t- 0.019 IP(A)+IP(B)/r_p(A)^2 + 0.840 |IP(A)-EA(B)|/exp(r_p(A)+r_d(B)) + 0.128 |IP(B)-EA(B)|/exp(r_p(A)^2) - 0.275" - }, - { - "type": "out", - "value": "\nEdiff_predicted(1D) = [ 0.27106096] eV\nEdiff_predicted(2D) = [ 0.42672588] eV\nEdiff_predicted(3D) = [ 0.3750455] eV\n-----\nLeave out BrNa: Ediff_ref = -0.126428727883 eV\n RMSE Model\n1D:\t0.137892\t- 0.055 IP(A)+IP(B)/r_p(A)^2 - 0.334\n2D:\t0.125374\t- 0.029 IP(A)+IP(B)/r_p(A)^2 + 0.165 |IP(B)-EA(B)|/exp(r_p(A)^2) - 0.274\n3D:\t0.124486\t- 0.016 IP(A)+IP(B)/r_p(A)^2 - 0.060 IP(A)+IP(B)/(r_s(A)+r_p(A))^2 + 0.158 |IP(B)-EA(B)|/exp(r_p(A)^2) - 0.302" - }, - { - "type": "out", - "value": "\nEdiff_predicted(1D) = [-0.18757753] eV\nEdiff_predicted(2D) = [-0.19469159] eV\nEdiff_predicted(3D) = [-0.20199056] eV\n-----\nLeave out BP: Ediff_ref = 1.0192251612 eV\n RMSE Model\n1D:\t0.137692\t- 0.056 IP(A)+IP(B)/r_p(A)^2 - 0.334\n2D:\t0.124815\t- 0.029 IP(A)+IP(B)/r_p(A)^2 + 0.167 |IP(B)-EA(B)|/exp(r_p(A)^2) - 0.274\n3D:\t0.124165\t- 0.018 IP(A)+IP(B)/r_p(A)^2 - 0.051 IP(A)+IP(B)/(r_s(A)+r_p(A))^2 + 0.161 |IP(B)-EA(B)|/exp(r_p(A)^2) - 0.298" - }, - { - "type": "out", - "value": "\nEdiff_predicted(1D) = [ 1.11324738] eV\nEdiff_predicted(2D) = [ 1.15100301] eV\nEdiff_predicted(3D) = [ 1.13494419] eV\n-----\nLeave out ClRb: Ediff_ref = -0.160503554078 eV\n RMSE Model\n1D:\t0.137807\t- 0.055 IP(A)+IP(B)/r_p(A)^2 - 0.334\n2D:\t0.125325\t- 0.115 IP(A)+IP(B)/(r_s(A)+r_p(A))^2 + 0.168 |IP(B)-EA(B)|/exp(r_p(A)^2) - 0.321\n3D:\t0.124470\t- 0.015 IP(A)+IP(B)/r_p(A)^2 - 0.062 IP(A)+IP(B)/(r_s(A)+r_p(A))^2 + 0.156 |IP(B)-EA(B)|/exp(r_p(A)^2) - 0.304" - }, - { - "type": "out", - "value": "\nEdiff_predicted(1D) = [-0.23589987] eV\nEdiff_predicted(2D) = [-0.24999333] eV\nEdiff_predicted(3D) = [-0.23873538] eV\n-----\nLeave out MgSe: Ediff_ref = -0.0553018019564 eV\n RMSE Model\n1D:\t0.138048\t- 0.055 IP(A)+IP(B)/r_p(A)^2 - 0.332\n2D:\t0.125564\t- 0.029 IP(A)+IP(B)/r_p(A)^2 + 0.165 |IP(B)-EA(B)|/exp(r_p(A)^2) - 0.273\n3D:\t0.124742\t- 0.016 IP(A)+IP(B)/r_p(A)^2 - 0.058 IP(A)+IP(B)/(r_s(A)+r_p(A))^2 + 0.158 |IP(B)-EA(B)|/exp(r_p(A)^2) - 0.300" - }, - { - "type": "out", - "value": "\nEdiff_predicted(1D) = [-0.0418842] eV\nEdiff_predicted(2D) = [-0.08225655] eV\nEdiff_predicted(3D) = [-0.07593747] eV\n-----\nLeave out FK: Ediff_ref = -0.146406098498 eV\n RMSE Model\n1D:\t0.138001\t- 0.055 IP(A)+IP(B)/r_p(A)^2 - 0.332\n2D:\t0.125599\t- 0.029 IP(A)+IP(B)/r_p(A)^2 + 0.164 |IP(B)-EA(B)|/exp(r_p(A)^2) - 0.273\n3D:\t0.124748\t- 0.016 IP(A)+IP(B)/r_p(A)^2 - 0.059 IP(A)+IP(B)/(r_s(A)+r_p(A))^2 + 0.158 |IP(B)-EA(B)|/exp(r_p(A)^2) - 0.301" - }, - { - "type": "out", - "value": "\nEdiff_predicted(1D) = [-0.11080938] eV\nEdiff_predicted(2D) = [-0.14869244] eV\nEdiff_predicted(3D) = [-0.16427732] eV\n-----\nLeave out BrLi: Ediff_ref = -0.0327462128844 eV\n RMSE Model\n1D:\t0.137936\t- 0.055 IP(A)+IP(B)/r_p(A)^2 - 0.333\n2D:\t0.125168\t- 0.113 IP(A)+IP(B)/(r_s(A)+r_p(A))^2 + 0.171 |IP(B)-EA(B)|/exp(r_p(A)^2) - 0.319\n3D:\t0.124338\t- 0.015 IP(A)+IP(B)/r_p(A)^2 - 0.061 IP(A)+IP(B)/(r_s(A)+r_p(A))^2 + 0.159 |IP(B)-EA(B)|/exp(r_p(A)^2) - 0.303" - }, - { - "type": "out", - "value": "\nEdiff_predicted(1D) = [-0.08502249] eV\nEdiff_predicted(2D) = [-0.13834997] eV\nEdiff_predicted(3D) = [-0.12648864] eV\n-----\nLeave out BSb: Ediff_ref = 0.580849114369 eV\n RMSE Model\n1D:\t0.129244\t- 0.057 IP(A)+IP(B)/r_p(A)^2 - 0.339\n2D:\t0.116658\t- 0.032 IP(A)+IP(B)/r_p(A)^2 + 0.160 |IP(B)-EA(B)|/exp(r_p(A)^2) - 0.281\n3D:\t0.111997\t+ 0.636 |IP(A)-EA(A)|/exp(r_p(A)+r_d(B)) - 0.022 IP(A)+IP(B)/r_p(A)^2 + 0.137 |IP(B)-EA(B)|/exp(r_p(A)^2) - 0.309" - }, - { - "type": "out", - "value": "\nEdiff_predicted(1D) = [ 1.03278503] eV\nEdiff_predicted(2D) = [ 1.01450282] eV\nEdiff_predicted(3D) = [ 0.9598292] eV\n-----\nLeave out MgTe: Ediff_ref = -0.00459128664806 eV\n RMSE Model\n1D:\t0.137924\t- 0.055 IP(A)+IP(B)/r_p(A)^2 - 0.333\n2D:\t0.125190\t- 0.029 IP(A)+IP(B)/r_p(A)^2 + 0.166 |IP(B)-EA(B)|/exp(r_p(A)^2) - 0.274\n3D:\t0.124390\t- 0.016 IP(A)+IP(B)/r_p(A)^2 - 0.057 IP(A)+IP(B)/(r_s(A)+r_p(A))^2 + 0.160 |IP(B)-EA(B)|/exp(r_p(A)^2) - 0.300" - }, - { - "type": "out", - "value": "\nEdiff_predicted(1D) = [-0.05935249] eV\nEdiff_predicted(2D) = [-0.09670621] eV\nEdiff_predicted(3D) = [-0.09228555] eV\n-----\nLeave out GeSn: Ediff_ref = 0.0816633602371 eV\n RMSE Model\n1D:\t0.138000\t- 0.055 IP(A)+IP(B)/r_p(A)^2 - 0.332\n2D:\t0.125385\t- 0.029 IP(A)+IP(B)/r_p(A)^2 + 0.166 |IP(B)-EA(B)|/exp(r_p(A)^2) - 0.272\n3D:\t0.124525\t- 0.016 IP(A)+IP(B)/r_p(A)^2 - 0.059 IP(A)+IP(B)/(r_s(A)+r_p(A))^2 + 0.159 |IP(B)-EA(B)|/exp(r_p(A)^2) - 0.299" - }, - { - "type": "out", - "value": "\nEdiff_predicted(1D) = [ 0.11731681] eV\nEdiff_predicted(2D) = [ 0.14820777] eV\nEdiff_predicted(3D) = [ 0.15155836] eV\n-----\nLeave out GeSi: Ediff_ref = 0.263210170178 eV\n RMSE Model\n1D:\t0.138006\t- 0.055 IP(A)+IP(B)/r_p(A)^2 - 0.332\n2D:\t0.124979\t- 0.112 IP(A)+IP(B)/(r_s(A)+r_p(A))^2 + 0.172 |IP(B)-EA(B)|/exp(r_p(A)^2) - 0.315\n3D:\t0.124227\t- 0.014 IP(A)+IP(B)/r_p(A)^2 - 0.063 IP(A)+IP(B)/(r_s(A)+r_p(A))^2 + 0.161 |IP(B)-EA(B)|/exp(r_p(A)^2) - 0.300" - }, - { - "type": "out", - "value": "\nEdiff_predicted(1D) = [ 0.29699847] eV\nEdiff_predicted(2D) = [ 0.38597801] eV\nEdiff_predicted(3D) = [ 0.36916764] eV\n-----\nLeave out CaTe: Ediff_ref = -0.350456279077 eV\n RMSE Model\n1D:\t0.136487\t- 0.055 IP(A)+IP(B)/r_p(A)^2 - 0.329\n2D:\t0.121164\t+ 1.185 |IP(A)-EA(B)|/exp(r_p(A)+r_d(B)) + 0.198 |IP(B)-EA(B)|/exp(r_p(A)^2) - 0.233\n3D:\t0.116442\t- 0.018 IP(A)+IP(B)/r_p(A)^2 + 0.855 |IP(A)-EA(B)|/exp(r_p(A)+r_d(B)) + 0.130 |IP(B)-EA(B)|/exp(r_p(A)^2) - 0.270" - }, - { - "type": "out", - "value": "\nEdiff_predicted(1D) = [-0.16203822] eV\nEdiff_predicted(2D) = [-0.15606928] eV\nEdiff_predicted(3D) = [-0.16048091] eV\n-----\nLeave out ClK: Ediff_ref = -0.164460680211 eV\n RMSE Model\n1D:\t0.138056\t- 0.055 IP(A)+IP(B)/r_p(A)^2 - 0.332\n2D:\t0.125587\t- 0.114 IP(A)+IP(B)/(r_s(A)+r_p(A))^2 + 0.170 |IP(B)-EA(B)|/exp(r_p(A)^2) - 0.319\n3D:\t0.124712\t- 0.016 IP(A)+IP(B)/r_p(A)^2 - 0.060 IP(A)+IP(B)/(r_s(A)+r_p(A))^2 + 0.158 |IP(B)-EA(B)|/exp(r_p(A)^2) - 0.302" - }, - { - "type": "out", - "value": "\nEdiff_predicted(1D) = [-0.16236946] eV\nEdiff_predicted(2D) = [-0.21442169] eV\nEdiff_predicted(3D) = [-0.19707523] eV\n-----\nLeave out BaO: Ediff_ref = -0.0929985538678 eV\n RMSE Model\n1D:\t0.137869\t- 0.055 IP(A)+IP(B)/r_p(A)^2 - 0.334\n2D:\t0.125065\t- 0.114 IP(A)+IP(B)/(r_s(A)+r_p(A))^2 + 0.170 |IP(B)-EA(B)|/exp(r_p(A)^2) - 0.320\n3D:\t0.124267\t- 0.015 IP(A)+IP(B)/r_p(A)^2 - 0.063 IP(A)+IP(B)/(r_s(A)+r_p(A))^2 + 0.158 |IP(B)-EA(B)|/exp(r_p(A)^2) - 0.304" - }, - { - "type": "out", - "value": "\nEdiff_predicted(1D) = [-0.15834591] eV\nEdiff_predicted(2D) = [-0.20836666] eV\nEdiff_predicted(3D) = [-0.19462827] eV\n-----\nLeave out BrCs: Ediff_ref = -0.155867302994 eV\n RMSE Model\n1D:\t0.137730\t- 0.055 IP(A)+IP(B)/r_p(A)^2 - 0.334\n2D:\t0.125184\t- 0.116 IP(A)+IP(B)/(r_s(A)+r_p(A))^2 + 0.167 |IP(B)-EA(B)|/exp(r_p(A)^2) - 0.322\n3D:\t0.124372\t- 0.015 IP(A)+IP(B)/r_p(A)^2 - 0.064 IP(A)+IP(B)/(r_s(A)+r_p(A))^2 + 0.156 |IP(B)-EA(B)|/exp(r_p(A)^2) - 0.305" - }, - { - "type": "out", - "value": "\nEdiff_predicted(1D) = [-0.24213268] eV\nEdiff_predicted(2D) = [-0.26068501] eV\nEdiff_predicted(3D) = [-0.24668866] eV\n-----\nLeave out CsF: Ediff_ref = -0.108263318674 eV\n RMSE Model\n1D:\t0.137647\t- 0.055 IP(A)+IP(B)/r_p(A)^2 - 0.335\n2D:\t0.124921\t- 0.115 IP(A)+IP(B)/(r_s(A)+r_p(A))^2 + 0.168 |IP(B)-EA(B)|/exp(r_p(A)^2) - 0.321\n3D:\t0.124128\t- 0.015 IP(A)+IP(B)/r_p(A)^2 - 0.064 IP(A)+IP(B)/(r_s(A)+r_p(A))^2 + 0.157 |IP(B)-EA(B)|/exp(r_p(A)^2) - 0.306" - }, - { - "type": "out", - "value": "\nEdiff_predicted(1D) = [-0.20482227] eV\nEdiff_predicted(2D) = [-0.23614153] eV\nEdiff_predicted(3D) = [-0.22335521] eV\n-----\nLeave out BrCu: Ediff_ref = 0.152442639788 eV\n RMSE Model\n1D:\t0.137813\t- 0.055 IP(A)+IP(B)/r_p(A)^2 - 0.333\n2D:\t0.124889\t- 0.029 IP(A)+IP(B)/r_p(A)^2 + 0.168 |IP(B)-EA(B)|/exp(r_p(A)^2) - 0.273\n3D:\t0.124222\t- 0.017 IP(A)+IP(B)/r_p(A)^2 - 0.052 IP(A)+IP(B)/(r_s(A)+r_p(A))^2 + 0.161 |IP(B)-EA(B)|/exp(r_p(A)^2) - 0.298" - }, - { - "type": "out", - "value": "\nEdiff_predicted(1D) = [ 0.07828605] eV\nEdiff_predicted(2D) = [ 0.0311271] eV\nEdiff_predicted(3D) = [ 0.04602869] eV\n-----\nLeave out CGe: Ediff_ref = 0.8114428802 eV\n RMSE Model\n1D:\t0.131019\t- 0.055 IP(A)+IP(B)/r_p(A)^2 - 0.334\n2D:\t0.122072\t- 0.033 IP(A)+IP(B)/r_p(A)^2 + 0.141 |IP(B)-EA(B)|/exp(r_p(A)^2) - 0.282\n3D:\t0.116427\t+ 0.710 |IP(A)-EA(A)|/exp(r_p(A)+r_d(B)) - 0.022 IP(A)+IP(B)/r_p(A)^2 + 0.119 |IP(B)-EA(B)|/exp(r_p(A)^2) - 0.312" - }, - { - "type": "out", - "value": "\nEdiff_predicted(1D) = [ 0.41605668] eV\nEdiff_predicted(2D) = [ 0.53320096] eV\nEdiff_predicted(3D) = [ 0.5805244] eV\n-----\nLeave out ILi: Ediff_ref = -0.0216609363415 eV\n RMSE Model\n1D:\t0.137752\t- 0.055 IP(A)+IP(B)/r_p(A)^2 - 0.334\n2D:\t0.124855\t- 0.113 IP(A)+IP(B)/(r_s(A)+r_p(A))^2 + 0.171 |IP(B)-EA(B)|/exp(r_p(A)^2) - 0.320\n3D:\t0.124060\t- 0.015 IP(A)+IP(B)/r_p(A)^2 - 0.063 IP(A)+IP(B)/(r_s(A)+r_p(A))^2 + 0.159 |IP(B)-EA(B)|/exp(r_p(A)^2) - 0.304" - }, - { - "type": "out", - "value": "\nEdiff_predicted(1D) = [-0.10474638] eV\nEdiff_predicted(2D) = [-0.1543115] eV\nEdiff_predicted(3D) = [-0.14227208] eV\n-----\nLeave out FLi: Ediff_ref = -0.0594883168637 eV\n RMSE Model\n1D:\t0.137844\t- 0.055 IP(A)+IP(B)/r_p(A)^2 - 0.331\n2D:\t0.125589\t- 0.030 IP(A)+IP(B)/r_p(A)^2 + 0.164 |IP(B)-EA(B)|/exp(r_p(A)^2) - 0.273\n3D:\t0.124758\t- 0.016 IP(A)+IP(B)/r_p(A)^2 - 0.058 IP(A)+IP(B)/(r_s(A)+r_p(A))^2 + 0.157 |IP(B)-EA(B)|/exp(r_p(A)^2) - 0.300" - }, - { - "type": "out", - "value": "\nEdiff_predicted(1D) = [ 0.00990553] eV\nEdiff_predicted(2D) = [-0.04503785] eV\nEdiff_predicted(3D) = [-0.04955294] eV\n-----\nLeave out CuF: Ediff_ref = -0.0170222723427 eV\n RMSE Model\n1D:\t0.134586\t- 0.101 EA(A)+IP(B)/r_p(A)^2 - 0.380\n2D:\t0.122900\t- 0.122 IP(A)+IP(B)/(r_s(A)+r_p(A))^2 + 0.157 |IP(B)-EA(B)|/exp(r_p(A)^2) - 0.324\n3D:\t0.121867\t- 0.088 IP(A)+IP(B)/(r_s(A)+r_p(A))^2 - 0.023 EA(A)+IP(B)/r_p(A)^2 + 0.133 |IP(B)-EA(B)|/exp(r_p(A)^2) - 0.332" - }, - { - "type": "out", - "value": "\nEdiff_predicted(1D) = [ 0.3748617] eV\nEdiff_predicted(2D) = [ 0.22641038] eV\nEdiff_predicted(3D) = [ 0.25444612] eV\n-----\nLeave out FNa: Ediff_ref = -0.145788137788 eV\n RMSE Model\n1D:\t0.138047\t- 0.055 IP(A)+IP(B)/r_p(A)^2 - 0.332\n2D:\t0.125585\t- 0.029 IP(A)+IP(B)/r_p(A)^2 + 0.165 |IP(B)-EA(B)|/exp(r_p(A)^2) - 0.273\n3D:\t0.124749\t- 0.016 IP(A)+IP(B)/r_p(A)^2 - 0.058 IP(A)+IP(B)/(r_s(A)+r_p(A))^2 + 0.158 |IP(B)-EA(B)|/exp(r_p(A)^2) - 0.300" - }, - { - "type": "out", - "value": "\nEdiff_predicted(1D) = [-0.13104841] eV\nEdiff_predicted(2D) = [-0.1631863] eV\nEdiff_predicted(3D) = [-0.16249984] eV\n-----\nLeave out C2: Ediff_ref = 2.62860363913 eV\n RMSE Model\n1D:\t0.119515\t- 0.254 IP(B)/exp(r_p(A)^2) - 0.178\n2D:\t0.109171\t+ 0.860 |IP(A)-EA(A)|/exp(r_p(A)+r_d(B)) + 0.202 |IP(B)-EA(B)|/exp(r_p(A)^2) - 0.249\n3D:\t0.109105\t- 0.041 IP(B)/exp(r_p(A)^2) + 0.842 |IP(A)-EA(A)|/exp(r_p(A)+r_d(B)) + 0.156 |IP(B)-EA(B)|/exp(r_p(A)^2) - 0.248" - }, - { - "type": "out", - "value": "\nEdiff_predicted(1D) = [ 1.67626919] eV\nEdiff_predicted(2D) = [ 2.00437933] eV\nEdiff_predicted(3D) = [ 1.97167968] eV\n-----\nLeave out AgBr: Ediff_ref = -0.0300334167114 eV\n RMSE Model\n1D:\t0.138036\t- 0.055 IP(A)+IP(B)/r_p(A)^2 - 0.332\n2D:\t0.125561\t- 0.029 IP(A)+IP(B)/r_p(A)^2 + 0.165 |IP(B)-EA(B)|/exp(r_p(A)^2) - 0.273\n3D:\t0.124746\t- 0.016 IP(A)+IP(B)/r_p(A)^2 - 0.057 IP(A)+IP(B)/(r_s(A)+r_p(A))^2 + 0.158 |IP(B)-EA(B)|/exp(r_p(A)^2) - 0.300" - }, - { - "type": "out", - "value": "\nEdiff_predicted(1D) = [-0.00862586] eV\nEdiff_predicted(2D) = [-0.05838432] eV\nEdiff_predicted(3D) = [-0.04859292] eV\n-----\nLeave out MgO: Ediff_ref = -0.232274724317 eV\n RMSE Model\n1D:\t0.134610\t- 0.055 IP(A)+IP(B)/r_p(A)^2 - 0.329\n2D:\t0.128367\t- 0.114 IP(A)+IP(B)/(r_s(A)+r_p(A))^2 + 0.058 |IP(B)-EA(B)|/r_p(A)^2 - 0.384\n3D:\t0.128204\t- 0.008 IP(A)+IP(B)/r_p(A)^2 - 0.094 IP(A)+IP(B)/(r_s(A)+r_p(A))^2 + 0.052 |IP(B)-EA(B)|/r_p(A)^2 - 0.375" - }, - { - "type": "out", - "value": "\nEdiff_predicted(1D) = [ 0.04535181] eV\nEdiff_predicted(2D) = [ 0.09853452] eV\nEdiff_predicted(3D) = [ 0.09109887] eV\n-----\nLeave out FRb: Ediff_ref = -0.135595776985 eV\n RMSE Model\n1D:\t0.137839\t- 0.055 IP(A)+IP(B)/r_p(A)^2 - 0.334\n2D:\t0.125292\t- 0.114 IP(A)+IP(B)/(r_s(A)+r_p(A))^2 + 0.169 |IP(B)-EA(B)|/exp(r_p(A)^2) - 0.320\n3D:\t0.124429\t- 0.015 IP(A)+IP(B)/r_p(A)^2 - 0.061 IP(A)+IP(B)/(r_s(A)+r_p(A))^2 + 0.157 |IP(B)-EA(B)|/exp(r_p(A)^2) - 0.304" - }, - { - "type": "out", - "value": "\nEdiff_predicted(1D) = [-0.2060295] eV\nEdiff_predicted(2D) = [-0.22847222] eV\nEdiff_predicted(3D) = [-0.21884723] eV\n-----\nLeave out AlN: Ediff_ref = 0.0729490731696 eV\n RMSE Model\n1D:\t0.136161\t+ 0.340 |IP(B)-EA(B)|/exp(r_p(A)^2) - 0.190\n2D:\t0.122914\t- 0.028 IP(A)+IP(B)/r_p(A)^2 + 0.176 |IP(B)-EA(B)|/exp(r_p(A)^2) - 0.267\n3D:\t0.122440\t- 0.021 IP(A)+IP(B)/r_p(A)^2 + 0.020 |IP(B)-EA(B)|/r_p(A)^2 + 0.161 |IP(B)-EA(B)|/exp(r_p(A)^2) - 0.275" - }, - { - "type": "out", - "value": "\nEdiff_predicted(1D) = [ 0.38635848] eV\nEdiff_predicted(2D) = [ 0.30986717] eV\nEdiff_predicted(3D) = [ 0.32963747] eV\n-----\nLeave out Si2: Ediff_ref = 0.279165821548 eV\n RMSE Model\n1D:\t0.137896\t- 0.055 IP(A)+IP(B)/r_p(A)^2 - 0.332\n2D:\t0.124792\t- 0.112 IP(A)+IP(B)/(r_s(A)+r_p(A))^2 + 0.174 |IP(B)-EA(B)|/exp(r_p(A)^2) - 0.315\n3D:\t0.123993\t- 0.015 IP(A)+IP(B)/r_p(A)^2 - 0.061 IP(A)+IP(B)/(r_s(A)+r_p(A))^2 + 0.162 |IP(B)-EA(B)|/exp(r_p(A)^2) - 0.299" - }, - { - "type": "out", - "value": "\nEdiff_predicted(1D) = [ 0.33954648] eV\nEdiff_predicted(2D) = [ 0.41702637] eV\nEdiff_predicted(3D) = [ 0.40564171] eV\n-----\nLeave out SiSn: Ediff_ref = 0.135108799106 eV\n RMSE Model\n1D:\t0.138049\t- 0.055 IP(A)+IP(B)/r_p(A)^2 - 0.333\n2D:\t0.125581\t- 0.029 IP(A)+IP(B)/r_p(A)^2 + 0.165 |IP(B)-EA(B)|/exp(r_p(A)^2) - 0.273\n3D:\t0.124737\t- 0.016 IP(A)+IP(B)/r_p(A)^2 - 0.058 IP(A)+IP(B)/(r_s(A)+r_p(A))^2 + 0.158 |IP(B)-EA(B)|/exp(r_p(A)^2) - 0.300" - }, - { - "type": "out", - "value": "\nEdiff_predicted(1D) = [ 0.12259476] eV\nEdiff_predicted(2D) = [ 0.1546077] eV\nEdiff_predicted(3D) = [ 0.15826796] eV\n-----\nLeave out ClLi: Ediff_ref = -0.0383814826992 eV\n RMSE Model\n1D:\t0.138019\t- 0.055 IP(A)+IP(B)/r_p(A)^2 - 0.333\n2D:\t0.125351\t- 0.113 IP(A)+IP(B)/(r_s(A)+r_p(A))^2 + 0.171 |IP(B)-EA(B)|/exp(r_p(A)^2) - 0.318\n3D:\t0.124497\t- 0.015 IP(A)+IP(B)/r_p(A)^2 - 0.060 IP(A)+IP(B)/(r_s(A)+r_p(A))^2 + 0.159 |IP(B)-EA(B)|/exp(r_p(A)^2) - 0.302" - }, - { - "type": "out", - "value": "\nEdiff_predicted(1D) = [-0.06737774] eV\nEdiff_predicted(2D) = [-0.12421013] eV\nEdiff_predicted(3D) = [-0.11256307] eV\n-----\nLeave out ClNa: Ediff_ref = -0.132991985081 eV\n RMSE Model\n1D:\t0.137971\t- 0.055 IP(A)+IP(B)/r_p(A)^2 - 0.333\n2D:\t0.125449\t- 0.029 IP(A)+IP(B)/r_p(A)^2 + 0.165 |IP(B)-EA(B)|/exp(r_p(A)^2) - 0.274\n3D:\t0.124579\t- 0.016 IP(A)+IP(B)/r_p(A)^2 - 0.059 IP(A)+IP(B)/(r_s(A)+r_p(A))^2 + 0.158 |IP(B)-EA(B)|/exp(r_p(A)^2) - 0.302" - }, - { - "type": "out", - "value": "\nEdiff_predicted(1D) = [-0.17701984] eV\nEdiff_predicted(2D) = [-0.18881173] eV\nEdiff_predicted(3D) = [-0.19456368] eV\n-----\nLeave out AsIn: Ediff_ref = 0.134047575193 eV\n RMSE Model\n1D:\t0.137573\t- 0.055 IP(A)+IP(B)/r_p(A)^2 - 0.334\n2D:\t0.125241\t- 0.030 IP(A)+IP(B)/r_p(A)^2 + 0.163 |IP(B)-EA(B)|/exp(r_p(A)^2) - 0.275\n3D:\t0.124429\t- 0.016 IP(A)+IP(B)/r_p(A)^2 - 0.057 IP(A)+IP(B)/(r_s(A)+r_p(A))^2 + 0.157 |IP(B)-EA(B)|/exp(r_p(A)^2) - 0.301" - }, - { - "type": "out", - "value": "\nEdiff_predicted(1D) = [ 0.02946056] eV\nEdiff_predicted(2D) = [ 0.04806384] eV\nEdiff_predicted(3D) = [ 0.05136671] eV\n-----\nLeave out OZn: Ediff_ref = 0.101968176768 eV\n RMSE Model\n1D:\t0.135541\t- 0.220 IP(A)+IP(B)/(r_s(A)+r_p(A))^2 - 0.421\n2D:\t0.123289\t- 0.121 IP(A)+IP(B)/(r_s(A)+r_p(A))^2 + 0.159 |IP(B)-EA(B)|/exp(r_p(A)^2) - 0.324\n3D:\t0.122867\t- 0.011 IP(A)+IP(B)/r_p(A)^2 - 0.083 IP(A)+IP(B)/(r_s(A)+r_p(A))^2 + 0.151 |IP(B)-EA(B)|/exp(r_p(A)^2) - 0.312" - }, - { - "type": "out", - "value": "\nEdiff_predicted(1D) = [ 0.41240846] eV\nEdiff_predicted(2D) = [ 0.32786484] eV\nEdiff_predicted(3D) = [ 0.30653394] eV\n-----\nLeave out CaSe: Ediff_ref = -0.360797734422 eV\n RMSE Model\n1D:\t0.136102\t- 0.055 IP(A)+IP(B)/r_p(A)^2 - 0.328\n2D:\t0.121366\t+ 1.172 |IP(A)-EA(B)|/exp(r_p(A)+r_d(B)) + 0.199 |IP(B)-EA(B)|/exp(r_p(A)^2) - 0.233\n3D:\t0.116462\t- 0.018 IP(A)+IP(B)/r_p(A)^2 + 0.836 |IP(A)-EA(B)|/exp(r_p(A)+r_d(B)) + 0.130 |IP(B)-EA(B)|/exp(r_p(A)^2) - 0.270" - }, - { - "type": "out", - "value": "\nEdiff_predicted(1D) = [-0.1506727] eV\nEdiff_predicted(2D) = [-0.17723492] eV\nEdiff_predicted(3D) = [-0.17197374] eV\n-----\nLeave out CdO: Ediff_ref = -0.0841613580269 eV\n RMSE Model\n1D:\t0.135465\t- 0.219 IP(A)+IP(B)/(r_s(A)+r_p(A))^2 - 0.419\n2D:\t0.123389\t- 0.121 IP(A)+IP(B)/(r_s(A)+r_p(A))^2 + 0.158 |IP(B)-EA(B)|/exp(r_p(A)^2) - 0.323\n3D:\t0.122747\t- 0.013 IP(A)+IP(B)/r_p(A)^2 - 0.075 IP(A)+IP(B)/(r_s(A)+r_p(A))^2 + 0.149 |IP(B)-EA(B)|/exp(r_p(A)^2) - 0.308" - }, - { - "type": "out", - "value": "\nEdiff_predicted(1D) = [ 0.22822733] eV\nEdiff_predicted(2D) = [ 0.13705524] eV\nEdiff_predicted(3D) = [ 0.12299168] eV\n-----\nLeave out InP: Ediff_ref = 0.179193287229 eV\n RMSE Model\n1D:\t0.137211\t- 0.055 IP(A)+IP(B)/r_p(A)^2 - 0.334\n2D:\t0.124921\t- 0.030 IP(A)+IP(B)/r_p(A)^2 + 0.163 |IP(B)-EA(B)|/exp(r_p(A)^2) - 0.275\n3D:\t0.124128\t- 0.017 IP(A)+IP(B)/r_p(A)^2 - 0.056 IP(A)+IP(B)/(r_s(A)+r_p(A))^2 + 0.156 |IP(B)-EA(B)|/exp(r_p(A)^2) - 0.302" - }, - { - "type": "out", - "value": "\nEdiff_predicted(1D) = [ 0.04104957] eV\nEdiff_predicted(2D) = [ 0.06106727] eV\nEdiff_predicted(3D) = [ 0.06520829] eV\n-----\nLeave out Sn2: Ediff_ref = 0.0169638991938 eV\n RMSE Model\n1D:\t0.137738\t- 0.055 IP(A)+IP(B)/r_p(A)^2 - 0.331\n2D:\t0.125050\t- 0.029 IP(A)+IP(B)/r_p(A)^2 + 0.166 |IP(B)-EA(B)|/exp(r_p(A)^2) - 0.271\n3D:\t0.124182\t- 0.016 IP(A)+IP(B)/r_p(A)^2 - 0.059 IP(A)+IP(B)/(r_s(A)+r_p(A))^2 + 0.159 |IP(B)-EA(B)|/exp(r_p(A)^2) - 0.299" - }, - { - "type": "out", - "value": "\nEdiff_predicted(1D) = [ 0.10179315] eV\nEdiff_predicted(2D) = [ 0.12327916] eV\nEdiff_predicted(3D) = [ 0.12594297] eV\n-----\nLeave out SSr: Ediff_ref = -0.36843412993 eV\n RMSE Model\n1D:\t0.136449\t- 0.055 IP(A)+IP(B)/r_p(A)^2 - 0.329\n2D:\t0.121681\t+ 1.163 |IP(A)-EA(B)|/exp(r_p(A)+r_d(B)) + 0.200 |IP(B)-EA(B)|/exp(r_p(A)^2) - 0.233\n3D:\t0.116824\t- 0.018 IP(A)+IP(B)/r_p(A)^2 + 0.828 |IP(A)-EA(B)|/exp(r_p(A)+r_d(B)) + 0.132 |IP(B)-EA(B)|/exp(r_p(A)^2) - 0.270" - }, - { - "type": "out", - "value": "\nEdiff_predicted(1D) = [-0.17767313] eV\nEdiff_predicted(2D) = [-0.20283026] eV\nEdiff_predicted(3D) = [-0.19896554] eV\n-----\nLeave out InN: Ediff_ref = 0.153720292699 eV\n RMSE Model\n1D:\t0.138044\t- 0.055 IP(A)+IP(B)/r_p(A)^2 - 0.333\n2D:\t0.125564\t- 0.029 IP(A)+IP(B)/r_p(A)^2 + 0.165 |IP(B)-EA(B)|/exp(r_p(A)^2) - 0.272\n3D:\t0.124693\t- 0.016 IP(A)+IP(B)/r_p(A)^2 - 0.059 IP(A)+IP(B)/(r_s(A)+r_p(A))^2 + 0.158 |IP(B)-EA(B)|/exp(r_p(A)^2) - 0.300" - }, - { - "type": "out", - "value": "\nEdiff_predicted(1D) = [ 0.13669367] eV\nEdiff_predicted(2D) = [ 0.1807579] eV\nEdiff_predicted(3D) = [ 0.1919405] eV\n-----\nLeave out BaSe: Ediff_ref = -0.343445134087 eV\n RMSE Model\n1D:\t0.137129\t- 0.055 IP(A)+IP(B)/r_p(A)^2 - 0.329\n2D:\t0.122095\t+ 1.164 |IP(A)-EA(B)|/exp(r_p(A)+r_d(B)) + 0.200 |IP(B)-EA(B)|/exp(r_p(A)^2) - 0.233\n3D:\t0.117353\t- 0.018 IP(A)+IP(B)/r_p(A)^2 + 0.833 |IP(A)-EA(B)|/exp(r_p(A)+r_d(B)) + 0.132 |IP(B)-EA(B)|/exp(r_p(A)^2) - 0.271" - }, - { - "type": "out", - "value": "\nEdiff_predicted(1D) = [-0.19834238] eV\nEdiff_predicted(2D) = [-0.2052629] eV\nEdiff_predicted(3D) = [-0.20751041] eV\n-----\nLeave out BrK: Ediff_ref = -0.166175964194 eV\n RMSE Model\n1D:\t0.138054\t- 0.055 IP(A)+IP(B)/r_p(A)^2 - 0.333\n2D:\t0.125559\t- 0.114 IP(A)+IP(B)/(r_s(A)+r_p(A))^2 + 0.170 |IP(B)-EA(B)|/exp(r_p(A)^2) - 0.319\n3D:\t0.124693\t- 0.015 IP(A)+IP(B)/r_p(A)^2 - 0.060 IP(A)+IP(B)/(r_s(A)+r_p(A))^2 + 0.158 |IP(B)-EA(B)|/exp(r_p(A)^2) - 0.302" - }, - { - "type": "out", - "value": "\nEdiff_predicted(1D) = [-0.17416216] eV\nEdiff_predicted(2D) = [-0.22184967] eV\nEdiff_predicted(3D) = [-0.20460128] eV\n-----\nLeave out AlAs: Ediff_ref = 0.213261849109 eV\n RMSE Model\n1D:\t0.137448\t- 0.055 IP(A)+IP(B)/r_p(A)^2 - 0.334\n2D:\t0.125276\t- 0.030 IP(A)+IP(B)/r_p(A)^2 + 0.163 |IP(B)-EA(B)|/exp(r_p(A)^2) - 0.275\n3D:\t0.124461\t- 0.016 IP(A)+IP(B)/r_p(A)^2 - 0.057 IP(A)+IP(B)/(r_s(A)+r_p(A))^2 + 0.156 |IP(B)-EA(B)|/exp(r_p(A)^2) - 0.301" - }, - { - "type": "out", - "value": "\nEdiff_predicted(1D) = [ 0.09606995] eV\nEdiff_predicted(2D) = [ 0.13156608] eV\nEdiff_predicted(3D) = [ 0.13444563] eV\n-----\nLeave out BeTe: Ediff_ref = 0.468585910494 eV\n RMSE Model\n1D:\t0.137820\t- 0.055 IP(A)+IP(B)/r_p(A)^2 - 0.333\n2D:\t0.125285\t- 0.029 IP(A)+IP(B)/r_p(A)^2 + 0.165 |IP(B)-EA(B)|/exp(r_p(A)^2) - 0.273\n3D:\t0.125021\t- 0.024 IP(A)+IP(B)/r_p(A)^2 + 0.016 |IP(B)-EA(B)|/r_p(A)^2 + 0.153 |IP(B)-EA(B)|/exp(r_p(A)^2) - 0.280" - }, - { - "type": "out", - "value": "\nEdiff_predicted(1D) = [ 0.39524077] eV\nEdiff_predicted(2D) = [ 0.38793744] eV\nEdiff_predicted(3D) = [ 0.36791816] eV\n-----\nLeave out CdS: Ediff_ref = 0.0726727959118 eV\n RMSE Model\n1D:\t0.138046\t- 0.055 IP(A)+IP(B)/r_p(A)^2 - 0.333\n2D:\t0.125377\t- 0.029 IP(A)+IP(B)/r_p(A)^2 + 0.167 |IP(B)-EA(B)|/exp(r_p(A)^2) - 0.273\n3D:\t0.124630\t- 0.016 IP(A)+IP(B)/r_p(A)^2 - 0.055 IP(A)+IP(B)/(r_s(A)+r_p(A))^2 + 0.160 |IP(B)-EA(B)|/exp(r_p(A)^2) - 0.299" - }, - { - "type": "out", - "value": "\nEdiff_predicted(1D) = [ 0.0572691] eV\nEdiff_predicted(2D) = [ 0.00462293] eV\nEdiff_predicted(3D) = [ 0.01983844] eV\n-----\nLeave out CdTe: Ediff_ref = 0.114539532195 eV\n RMSE Model\n1D:\t0.137670\t- 0.055 IP(A)+IP(B)/r_p(A)^2 - 0.334\n2D:\t0.124596\t- 0.029 IP(A)+IP(B)/r_p(A)^2 + 0.169 |IP(B)-EA(B)|/exp(r_p(A)^2) - 0.274\n3D:\t0.123911\t- 0.017 IP(A)+IP(B)/r_p(A)^2 - 0.053 IP(A)+IP(B)/(r_s(A)+r_p(A))^2 + 0.162 |IP(B)-EA(B)|/exp(r_p(A)^2) - 0.298" - }, - { - "type": "out", - "value": "\nEdiff_predicted(1D) = [ 0.02109435] eV\nEdiff_predicted(2D) = [-0.0296647] eV\nEdiff_predicted(3D) = [-0.01848469] eV\n-----\nLeave out TeZn: Ediff_ref = 0.245001295174 eV\n RMSE Model\n1D:\t0.137428\t- 0.055 IP(A)+IP(B)/r_p(A)^2 - 0.334\n2D:\t0.124212\t- 0.029 IP(A)+IP(B)/r_p(A)^2 + 0.169 |IP(B)-EA(B)|/exp(r_p(A)^2) - 0.273\n3D:\t0.123921\t- 0.023 IP(A)+IP(B)/r_p(A)^2 + 0.016 |IP(B)-EA(B)|/r_p(A)^2 + 0.157 |IP(B)-EA(B)|/exp(r_p(A)^2) - 0.280" - }, - { - "type": "out", - "value": "\nEdiff_predicted(1D) = [ 0.12587239] eV\nEdiff_predicted(2D) = [ 0.07569601] eV\nEdiff_predicted(3D) = [ 0.06358733] eV\n-----\nLeave out GaP: Ediff_ref = 0.348751797752 eV\n RMSE Model\n1D:\t0.136321\t- 0.055 IP(A)+IP(B)/r_p(A)^2 - 0.335\n2D:\t0.122405\t+ 1.180 |IP(A)-EA(B)|/exp(r_p(A)+r_d(B)) + 0.199 |IP(B)-EA(B)|/exp(r_p(A)^2) - 0.237\n3D:\t0.117280\t- 0.019 IP(A)+IP(B)/r_p(A)^2 + 0.835 |IP(A)-EA(B)|/exp(r_p(A)+r_d(B)) + 0.128 |IP(B)-EA(B)|/exp(r_p(A)^2) - 0.277" - }, - { - "type": "out", - "value": "\nEdiff_predicted(1D) = [ 0.151172] eV\nEdiff_predicted(2D) = [ 0.23573227] eV\nEdiff_predicted(3D) = [ 0.20742887] eV\n-----\nLeave out CdSe: Ediff_ref = 0.083571949086 eV\n RMSE Model\n1D:\t0.137978\t- 0.055 IP(A)+IP(B)/r_p(A)^2 - 0.333\n2D:\t0.125176\t- 0.029 IP(A)+IP(B)/r_p(A)^2 + 0.167 |IP(B)-EA(B)|/exp(r_p(A)^2) - 0.273\n3D:\t0.124454\t- 0.017 IP(A)+IP(B)/r_p(A)^2 - 0.054 IP(A)+IP(B)/(r_s(A)+r_p(A))^2 + 0.161 |IP(B)-EA(B)|/exp(r_p(A)^2) - 0.299" - }, - { - "type": "out", - "value": "\nEdiff_predicted(1D) = [ 0.04144371] eV\nEdiff_predicted(2D) = [-0.01018654] eV\nEdiff_predicted(3D) = [ 0.00323848] eV\n-----\nLeave out INa: Ediff_ref = -0.114838222187 eV\n RMSE Model\n1D:\t0.137742\t- 0.055 IP(A)+IP(B)/r_p(A)^2 - 0.334\n2D:\t0.125202\t- 0.114 IP(A)+IP(B)/(r_s(A)+r_p(A))^2 + 0.170 |IP(B)-EA(B)|/exp(r_p(A)^2) - 0.320\n3D:\t0.124320\t- 0.015 IP(A)+IP(B)/r_p(A)^2 - 0.061 IP(A)+IP(B)/(r_s(A)+r_p(A))^2 + 0.157 |IP(B)-EA(B)|/exp(r_p(A)^2) - 0.303" - }, - { - "type": "out", - "value": "\nEdiff_predicted(1D) = [-0.1994169] eV\nEdiff_predicted(2D) = [-0.21728009] eV\nEdiff_predicted(3D) = [-0.21043811] eV\n-----\nLeave out AlP: Ediff_ref = 0.218958341476 eV\n RMSE Model\n1D:\t0.137532\t- 0.055 IP(A)+IP(B)/r_p(A)^2 - 0.334\n2D:\t0.125362\t- 0.030 IP(A)+IP(B)/r_p(A)^2 + 0.163 |IP(B)-EA(B)|/exp(r_p(A)^2) - 0.274\n3D:\t0.124549\t- 0.016 IP(A)+IP(B)/r_p(A)^2 - 0.057 IP(A)+IP(B)/(r_s(A)+r_p(A))^2 + 0.156 |IP(B)-EA(B)|/exp(r_p(A)^2) - 0.301" - }, - { - "type": "out", - "value": "\nEdiff_predicted(1D) = [ 0.11014289] eV\nEdiff_predicted(2D) = [ 0.14885863] eV\nEdiff_predicted(3D) = [ 0.152554] eV\n-----\nLeave out AgCl: Ediff_ref = -0.0427972782054 eV\n RMSE Model\n1D:\t0.137927\t- 0.055 IP(A)+IP(B)/r_p(A)^2 - 0.332\n2D:\t0.125599\t- 0.029 IP(A)+IP(B)/r_p(A)^2 + 0.164 |IP(B)-EA(B)|/exp(r_p(A)^2) - 0.273\n3D:\t0.124755\t- 0.016 IP(A)+IP(B)/r_p(A)^2 - 0.059 IP(A)+IP(B)/(r_s(A)+r_p(A))^2 + 0.157 |IP(B)-EA(B)|/exp(r_p(A)^2) - 0.300" - }, - { - "type": "out", - "value": "\nEdiff_predicted(1D) = [ 0.01135625] eV\nEdiff_predicted(2D) = [-0.04242312] eV\nEdiff_predicted(3D) = [-0.03022199] eV\n-----\nLeave out AsGa: Ediff_ref = 0.27427777242 eV\n RMSE Model\n1D:\t0.137217\t- 0.055 IP(A)+IP(B)/r_p(A)^2 - 0.334\n2D:\t0.122594\t+ 1.188 |IP(A)-EA(B)|/exp(r_p(A)+r_d(B)) + 0.198 |IP(B)-EA(B)|/exp(r_p(A)^2) - 0.237\n3D:\t0.117677\t- 0.019 IP(A)+IP(B)/r_p(A)^2 + 0.852 |IP(A)-EA(B)|/exp(r_p(A)+r_d(B)) + 0.128 |IP(B)-EA(B)|/exp(r_p(A)^2) - 0.276" - }, - { - "type": "out", - "value": "\nEdiff_predicted(1D) = [ 0.13666291] eV\nEdiff_predicted(2D) = [ 0.17926679] eV\nEdiff_predicted(3D) = [ 0.16357558] eV\n-----\nLeave out Ge2: Ediff_ref = 0.200852526061 eV\n RMSE Model\n1D:\t0.137706\t- 0.055 IP(A)+IP(B)/r_p(A)^2 - 0.332\n2D:\t0.124231\t- 0.112 IP(A)+IP(B)/(r_s(A)+r_p(A))^2 + 0.173 |IP(B)-EA(B)|/exp(r_p(A)^2) - 0.315\n3D:\t0.123548\t- 0.014 IP(A)+IP(B)/r_p(A)^2 - 0.065 IP(A)+IP(B)/(r_s(A)+r_p(A))^2 + 0.162 |IP(B)-EA(B)|/exp(r_p(A)^2) - 0.301" - }, - { - "type": "out", - "value": "\nEdiff_predicted(1D) = [ 0.28995883] eV\nEdiff_predicted(2D) = [ 0.37536014] eV\nEdiff_predicted(3D) = [ 0.35997386] eV\n-----\nLeave out SeSr: Ediff_ref = -0.374510951733 eV\n RMSE Model\n1D:\t0.136468\t- 0.055 IP(A)+IP(B)/r_p(A)^2 - 0.329\n2D:\t0.121463\t+ 1.166 |IP(A)-EA(B)|/exp(r_p(A)+r_d(B)) + 0.200 |IP(B)-EA(B)|/exp(r_p(A)^2) - 0.232\n3D:\t0.116672\t- 0.018 IP(A)+IP(B)/r_p(A)^2 + 0.833 |IP(A)-EA(B)|/exp(r_p(A)+r_d(B)) + 0.132 |IP(B)-EA(B)|/exp(r_p(A)^2) - 0.270" - }, - { - "type": "out", - "value": "\nEdiff_predicted(1D) = [-0.18485073] eV\nEdiff_predicted(2D) = [-0.19623238] eV\nEdiff_predicted(3D) = [-0.19667018] eV\n-----\nLeave out CSi: Ediff_ref = 0.669023727236 eV\n RMSE Model\n1D:\t0.136280\t- 0.055 IP(A)+IP(B)/r_p(A)^2 - 0.333\n2D:\t0.121605\t+ 1.219 |IP(A)-EA(B)|/exp(r_p(A)+r_d(B)) + 0.197 |IP(B)-EA(B)|/exp(r_p(A)^2) - 0.238\n3D:\t0.118100\t- 0.017 IP(A)+IP(B)/r_p(A)^2 + 0.885 |IP(A)-EA(B)|/exp(r_p(A)+r_d(B)) + 0.136 |IP(B)-EA(B)|/exp(r_p(A)^2) - 0.271" - }, - { - "type": "out", - "value": "\nEdiff_predicted(1D) = [ 0.46819481] eV\nEdiff_predicted(2D) = [ 0.84271714] eV\nEdiff_predicted(3D) = [ 0.73804446] eV\n-----\nLeave out BeO: Ediff_ref = 0.691837577233 eV\n RMSE Model\n1D:\t0.137952\t- 0.055 IP(A)+IP(B)/r_p(A)^2 - 0.332\n2D:\t0.122811\t+ 1.225 |IP(A)-EA(B)|/exp(r_p(A)+r_d(B)) + 0.193 |IP(B)-EA(B)|/exp(r_p(A)^2) - 0.238\n3D:\t0.118090\t- 0.018 IP(A)+IP(B)/r_p(A)^2 + 0.891 |IP(A)-EA(B)|/exp(r_p(A)+r_d(B)) + 0.125 |IP(B)-EA(B)|/exp(r_p(A)^2) - 0.275" - }, - { - "type": "out", - "value": "\nEdiff_predicted(1D) = [ 0.64270543] eV\nEdiff_predicted(2D) = [ 0.61729735] eV\nEdiff_predicted(3D) = [ 0.62104792] eV\n-----\nLeave out AgI: Ediff_ref = 0.0369254196412 eV\n RMSE Model\n1D:\t0.137849\t- 0.055 IP(A)+IP(B)/r_p(A)^2 - 0.334\n2D:\t0.124970\t- 0.029 IP(A)+IP(B)/r_p(A)^2 + 0.167 |IP(B)-EA(B)|/exp(r_p(A)^2) - 0.274\n3D:\t0.124207\t- 0.016 IP(A)+IP(B)/r_p(A)^2 - 0.055 IP(A)+IP(B)/(r_s(A)+r_p(A))^2 + 0.161 |IP(B)-EA(B)|/exp(r_p(A)^2) - 0.300" - }, - { - "type": "out", - "value": "\nEdiff_predicted(1D) = [-0.03159265] eV\nEdiff_predicted(2D) = [-0.07733851] eV\nEdiff_predicted(3D) = [-0.07021701] eV\n-----\nLeave out AsB: Ediff_ref = 0.874978183765 eV\n RMSE Model\n1D:\t0.136271\t- 0.056 IP(A)+IP(B)/r_p(A)^2 - 0.336\n2D:\t0.122787\t+ 1.143 |IP(A)-EA(B)|/exp(r_p(A)+r_d(B)) + 0.205 |IP(B)-EA(B)|/exp(r_p(A)^2) - 0.235\n3D:\t0.117518\t- 0.019 IP(A)+IP(B)/r_p(A)^2 + 0.765 |IP(A)-EA(B)|/exp(r_p(A)+r_d(B)) + 0.137 |IP(B)-EA(B)|/exp(r_p(A)^2) - 0.275" - }, - { - "type": "out", - "value": "\nEdiff_predicted(1D) = [ 1.08191291] eV\nEdiff_predicted(2D) = [ 0.9500817] eV\nEdiff_predicted(3D) = [ 1.00707945] eV\n-----\nLeave out CaS: Ediff_ref = -0.369133194537 eV\n RMSE Model\n1D:\t0.135764\t- 0.055 IP(A)+IP(B)/r_p(A)^2 - 0.328\n2D:\t0.121371\t+ 1.166 |IP(A)-EA(B)|/exp(r_p(A)+r_d(B)) + 0.200 |IP(B)-EA(B)|/exp(r_p(A)^2) - 0.232\n3D:\t0.116358\t- 0.019 IP(A)+IP(B)/r_p(A)^2 + 0.826 |IP(A)-EA(B)|/exp(r_p(A)+r_d(B)) + 0.130 |IP(B)-EA(B)|/exp(r_p(A)^2) - 0.270" - }, - { - "type": "out", - "value": "\nEdiff_predicted(1D) = [-0.14173767] eV\nEdiff_predicted(2D) = [-0.18579363] eV\nEdiff_predicted(3D) = [-0.17498367] eV\n-----\nLeave out AgF: Ediff_ref = -0.153757673179 eV\n RMSE Model\n1D:\t0.135085\t- 0.101 EA(A)+IP(B)/r_p(A)^2 - 0.378\n2D:\t0.129118\t- 0.110 IP(A)+IP(B)/(r_s(A)+r_p(A))^2 - 0.051 EA(A)+IP(B)/r_p(A)^2 - 0.402\n3D:\t0.129026\t- 0.006 IP(A)+IP(B)/r_p(A)^2 - 0.096 IP(A)+IP(B)/(r_s(A)+r_p(A))^2 - 0.046 EA(A)+IP(B)/r_p(A)^2 - 0.395" - }, - { - "type": "out", - "value": "\nEdiff_predicted(1D) = [ 0.2230028] eV\nEdiff_predicted(2D) = [ 0.19710646] eV\nEdiff_predicted(3D) = [ 0.18705953] eV\n-----\nLeave out GaSb: Ediff_ref = 0.154625285097 eV\n RMSE Model\n1D:\t0.137980\t- 0.055 IP(A)+IP(B)/r_p(A)^2 - 0.333\n2D:\t0.125598\t- 0.029 IP(A)+IP(B)/r_p(A)^2 + 0.164 |IP(B)-EA(B)|/exp(r_p(A)^2) - 0.273\n3D:\t0.124761\t- 0.016 IP(A)+IP(B)/r_p(A)^2 - 0.058 IP(A)+IP(B)/(r_s(A)+r_p(A))^2 + 0.158 |IP(B)-EA(B)|/exp(r_p(A)^2) - 0.300" - }, - { - "type": "out", - "value": "\nEdiff_predicted(1D) = [ 0.11306356] eV\nEdiff_predicted(2D) = [ 0.15031465] eV\nEdiff_predicted(3D) = [ 0.16124591] eV\n-----\nLeave out IK: Ediff_ref = -0.167039145163 eV\n RMSE Model\n1D:\t0.138038\t- 0.055 IP(A)+IP(B)/r_p(A)^2 - 0.333\n2D:\t0.125516\t- 0.114 IP(A)+IP(B)/(r_s(A)+r_p(A))^2 + 0.169 |IP(B)-EA(B)|/exp(r_p(A)^2) - 0.319\n3D:\t0.124662\t- 0.015 IP(A)+IP(B)/r_p(A)^2 - 0.061 IP(A)+IP(B)/(r_s(A)+r_p(A))^2 + 0.157 |IP(B)-EA(B)|/exp(r_p(A)^2) - 0.302" - }, - { - "type": "out", - "value": "\nEdiff_predicted(1D) = [-0.18730625] eV\nEdiff_predicted(2D) = [-0.23018701] eV\nEdiff_predicted(3D) = [-0.21305959] eV\n-----\nLeave out BaS: Ediff_ref = -0.319762429426 eV\n RMSE Model\n1D:\t0.137337\t- 0.055 IP(A)+IP(B)/r_p(A)^2 - 0.330\n2D:\t0.122454\t+ 1.164 |IP(A)-EA(B)|/exp(r_p(A)+r_d(B)) + 0.201 |IP(B)-EA(B)|/exp(r_p(A)^2) - 0.234\n3D:\t0.117678\t- 0.018 IP(A)+IP(B)/r_p(A)^2 + 0.831 |IP(A)-EA(B)|/exp(r_p(A)+r_d(B)) + 0.132 |IP(B)-EA(B)|/exp(r_p(A)^2) - 0.271" - }, - { - "type": "out", - "value": "\nEdiff_predicted(1D) = [-0.19192047] eV\nEdiff_predicted(2D) = [-0.21091986] eV\nEdiff_predicted(3D) = [-0.20940786] eV\n-----\nLeave out CsI: Ediff_ref = -0.162387474498 eV\n RMSE Model\n1D:\t0.137721\t- 0.055 IP(A)+IP(B)/r_p(A)^2 - 0.334\n2D:\t0.125198\t- 0.116 IP(A)+IP(B)/(r_s(A)+r_p(A))^2 + 0.167 |IP(B)-EA(B)|/exp(r_p(A)^2) - 0.322\n3D:\t0.124386\t- 0.015 IP(A)+IP(B)/r_p(A)^2 - 0.064 IP(A)+IP(B)/(r_s(A)+r_p(A))^2 + 0.156 |IP(B)-EA(B)|/exp(r_p(A)^2) - 0.305" - }, - { - "type": "out", - "value": "\nEdiff_predicted(1D) = [-0.24989187] eV\nEdiff_predicted(2D) = [-0.26585831] eV\nEdiff_predicted(3D) = [-0.25163592] eV\n-----\nLeave out ClCs: Ediff_ref = -0.150346157447 eV\n RMSE Model\n1D:\t0.137741\t- 0.055 IP(A)+IP(B)/r_p(A)^2 - 0.334\n2D:\t0.125174\t- 0.115 IP(A)+IP(B)/(r_s(A)+r_p(A))^2 + 0.168 |IP(B)-EA(B)|/exp(r_p(A)^2) - 0.322\n3D:\t0.124362\t- 0.015 IP(A)+IP(B)/r_p(A)^2 - 0.064 IP(A)+IP(B)/(r_s(A)+r_p(A))^2 + 0.156 |IP(B)-EA(B)|/exp(r_p(A)^2) - 0.305" - }, - { - "type": "out", - "value": "\nEdiff_predicted(1D) = [-0.23514962] eV\nEdiff_predicted(2D) = [-0.25603213] eV\nEdiff_predicted(3D) = [-0.24223189] eV\n-----\nLeave out CaO: Ediff_ref = -0.265219041319 eV\n RMSE Model\n1D:\t0.136780\t- 0.055 IP(A)+IP(B)/r_p(A)^2 - 0.329\n2D:\t0.124781\t- 0.030 IP(A)+IP(B)/r_p(A)^2 + 0.161 |IP(B)-EA(B)|/exp(r_p(A)^2) - 0.272\n3D:\t0.124566\t- 0.025 IP(A)+IP(B)/r_p(A)^2 + 0.014 |IP(B)-EA(B)|/r_p(A)^2 + 0.150 |IP(B)-EA(B)|/exp(r_p(A)^2) - 0.278" - }, - { - "type": "out", - "value": "\nEdiff_predicted(1D) = [-0.09534856] eV\nEdiff_predicted(2D) = [-0.13504662] eV\nEdiff_predicted(3D) = [-0.12676689] eV\n-----\nLeave out ClCu: Ediff_ref = 0.156258713192 eV\n RMSE Model\n1D:\t0.137931\t- 0.055 IP(A)+IP(B)/r_p(A)^2 - 0.333\n2D:\t0.125100\t- 0.029 IP(A)+IP(B)/r_p(A)^2 + 0.167 |IP(B)-EA(B)|/exp(r_p(A)^2) - 0.273\n3D:\t0.124424\t- 0.017 IP(A)+IP(B)/r_p(A)^2 - 0.053 IP(A)+IP(B)/(r_s(A)+r_p(A))^2 + 0.161 |IP(B)-EA(B)|/exp(r_p(A)^2) - 0.298" - }, - { - "type": "out", - "value": "\nEdiff_predicted(1D) = [ 0.1030496] eV\nEdiff_predicted(2D) = [ 0.05451237] eV\nEdiff_predicted(3D) = [ 0.07178534] eV\n-----\nLeave out CSn: Ediff_ref = 0.453537974143 eV\n RMSE Model\n1D:\t0.135518\t- 0.055 IP(A)+IP(B)/r_p(A)^2 - 0.335\n2D:\t0.124277\t- 0.031 IP(A)+IP(B)/r_p(A)^2 + 0.157 |IP(B)-EA(B)|/exp(r_p(A)^2) - 0.277\n3D:\t0.123557\t- 0.018 IP(A)+IP(B)/r_p(A)^2 - 0.054 IP(A)+IP(B)/(r_s(A)+r_p(A))^2 + 0.151 |IP(B)-EA(B)|/exp(r_p(A)^2) - 0.302" - }, - { - "type": "out", - "value": "\nEdiff_predicted(1D) = [ 0.21481426] eV\nEdiff_predicted(2D) = [ 0.28708539] eV\nEdiff_predicted(3D) = [ 0.29474921] eV\n-----\nLeave out BeS: Ediff_ref = 0.506327674543 eV\n RMSE Model\n1D:\t0.137994\t- 0.055 IP(A)+IP(B)/r_p(A)^2 - 0.333\n2D:\t0.125593\t- 0.029 IP(A)+IP(B)/r_p(A)^2 + 0.164 |IP(B)-EA(B)|/exp(r_p(A)^2) - 0.273\n3D:\t0.124755\t- 0.016 IP(A)+IP(B)/r_p(A)^2 - 0.058 IP(A)+IP(B)/(r_s(A)+r_p(A))^2 + 0.157 |IP(B)-EA(B)|/exp(r_p(A)^2) - 0.300" - }, - { - "type": "out", - "value": "\nEdiff_predicted(1D) = [ 0.46849588] eV\nEdiff_predicted(2D) = [ 0.49439105] eV\nEdiff_predicted(3D) = [ 0.4933275] eV\n-----\nLeave out IRb: Ediff_ref = -0.16720144212 eV\n RMSE Model\n1D:\t0.137753\t- 0.055 IP(A)+IP(B)/r_p(A)^2 - 0.334\n2D:\t0.125292\t- 0.115 IP(A)+IP(B)/(r_s(A)+r_p(A))^2 + 0.168 |IP(B)-EA(B)|/exp(r_p(A)^2) - 0.321\n3D:\t0.124448\t- 0.015 IP(A)+IP(B)/r_p(A)^2 - 0.063 IP(A)+IP(B)/(r_s(A)+r_p(A))^2 + 0.156 |IP(B)-EA(B)|/exp(r_p(A)^2) - 0.305" - }, - { - "type": "out", - "value": "\nEdiff_predicted(1D) = [-0.25037678] eV\nEdiff_predicted(2D) = [-0.26058299] eV\nEdiff_predicted(3D) = [-0.24856713] eV\n-----\nLeave out AlSb: Ediff_ref = 0.15686873396 eV\n RMSE Model\n1D:\t0.137751\t- 0.055 IP(A)+IP(B)/r_p(A)^2 - 0.334\n2D:\t0.125448\t- 0.030 IP(A)+IP(B)/r_p(A)^2 + 0.163 |IP(B)-EA(B)|/exp(r_p(A)^2) - 0.274\n3D:\t0.124620\t- 0.016 IP(A)+IP(B)/r_p(A)^2 - 0.058 IP(A)+IP(B)/(r_s(A)+r_p(A))^2 + 0.157 |IP(B)-EA(B)|/exp(r_p(A)^2) - 0.301" - }, - { - "type": "out", - "value": "\nEdiff_predicted(1D) = [ 0.073795] eV\nEdiff_predicted(2D) = [ 0.10094469] eV\nEdiff_predicted(3D) = [ 0.1026443] eV\n-----\nLeave out SrTe: Ediff_ref = -0.379294725863 eV\n RMSE Model\n1D:\t0.136542\t- 0.055 IP(A)+IP(B)/r_p(A)^2 - 0.329\n2D:\t0.121080\t+ 1.175 |IP(A)-EA(B)|/exp(r_p(A)+r_d(B)) + 0.199 |IP(B)-EA(B)|/exp(r_p(A)^2) - 0.232\n3D:\t0.116424\t- 0.018 IP(A)+IP(B)/r_p(A)^2 + 0.847 |IP(A)-EA(B)|/exp(r_p(A)+r_d(B)) + 0.132 |IP(B)-EA(B)|/exp(r_p(A)^2) - 0.269" - }, - { - "type": "out", - "value": "\nEdiff_predicted(1D) = [-0.19402872] eV\nEdiff_predicted(2D) = [-0.18073688] eV\nEdiff_predicted(3D) = [-0.1884968] eV\n-----\n" - } - ] - }, "selectedType": "Results", "pluginName": "IPython", - "shellId": "C52E2607E20544C788411157B4CD5289", - "height": 13665, - "dataresult": "\nprint \"Descriptor selection frequency\"\nfor dim in dimensions: \n df = pd.DataFrame( Counter(features_count[dim-1]).most_common(10), columns=['Features', 'Frequency'] )\n print '-----------------\n%sD:\n%s'%(dim,df)\n\n#Plot Prediction errors\nprediction_errors = np.linalg.norm(P-P_predict, axis=1)/np.sqrt(compounds)\nfor dim in dimensions:\n predict = P_predict[dim-1]\n if dim == 1:\n maxi = max(max(P), max(predict))\n mini = min(min(P), min(predict))\n plt.plot([maxi,mini], [maxi,mini], 'k')\n plt.scatter(P, predict, color=['b','r', 'g'][dim-1], label='%sD, RMSE = %.3f eV' %(dim,prediction_errors[dim-1]))\nplt.legend(loc='best')\nplt.show()\n", - "elapsedTime": 17104 + "shellId": "4B35956E29D047B389A3AA6E8297BBBD", + "height": 0, + "dataresult": "\nprint \"Descriptor selection frequency\"\nfor dim in dimensions: \n df = pd.DataFrame( Counter(features_count[dim-1]).most_common(10), columns=['Features', 'Frequency'] )\n print '-----------------\n%sD:\n%s'%(dim,df)\n\n#Plot Prediction errors\nprediction_errors = np.linalg.norm(P-P_predict, axis=1)/np.sqrt(compounds)\nfor dim in dimensions:\n predict = P_predict[dim-1]\n if dim == 1:\n maxi = max(max(P), max(predict))\n mini = min(min(P), min(predict))\n plt.plot([maxi,mini], [maxi,mini], 'k')\n plt.scatter(P, predict, color=['b','r', 'g'][dim-1], label='%sD, RMSE = %.3f eV' %(dim,prediction_errors[dim-1]))\nplt.legend(loc='best')\nplt.show()\n" }, "evaluatorReader": true, - "lineCount": 33 + "lineCount": 31 }, { "id": "codefvaq33", @@ -2370,6 +1697,7 @@ "input": { "body": [ "#Plot Prediction errors", + "", "prediction_errors = np.linalg.norm(P-P_predict, axis=1)/np.sqrt(compounds)", "for dim in dimensions:", " predict = P_predict[dim-1]", @@ -2379,20 +1707,19 @@ " plt.plot([maxi,mini], [maxi,mini], 'k')", " plt.scatter(P, predict, color=['b','r', 'g'][dim-1], label='%sD, RMSE = %.3f eV' %(dim,prediction_errors[dim-1]))", "plt.legend(loc='best')", + "plt.xlabel('E_diff_DFT'), plt.ylabel('E_diff_predicted')", "plt.show()" ] }, "output": { "state": {}, - "result": "<div class=\"output_subarea output_png\"><img src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAYEAAAEACAYAAABVtcpZAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3Xl4VOXZ+PHvk0kCCRA2R1SQxNIKKFUBA1JQYgUViwJq\ni1Fkmwo/C1WsS9G6xLbqS18tZW+1QVExLq3W9ZVFiQh1CauiARdM0Kg4CiFkITOZuX9/zGQyk8xk\nnWRmkvtzXbkyc84z5zw5DOdZz3MbEUEppVTHFBfpDCillIocLQSUUqoD00JAKaU6MC0ElFKqA9NC\nQCmlOjAtBJRSqgNrcSFgjOlkjHnPGLPTGPORMeb+EOmWGmM+NcbsMsac1dLzKqWUarn4lh5ARCqN\nMeeLSLkxxgJsNcaMFpGt1WmMMROAASLyE2PMSODvwDktPbdSSqmWCUt3kIiUe1928h7zcK0kk4DH\nvWnfA7obY/qE49xKKaWaLyyFgDEmzhizE/gWyBWRj2sl6Qt86fe+yLtNKaVUBIWrJeAWkaFAP+A8\nY8zYcBxXKaVU62rxmIA/ESkxxrwKnA285berCDjZ730/77Y6jDG6mJFSSjWRiJjmfC4cs4OOM8Z0\n975OAsYDu2olewmY7k1zDlAsIgdDHVNEovrnnnvuiXgeNJ+aT82n5rP6pyXC0RI4EVhjjDF4CpUn\nROQNY8xcz/1cHhaR14wxlxhjPgPKgFlhOK9SSqkWCscU0Q+BYUG2/6PW+/ktPZdSSqnw0ieGmyEj\nIyPSWWgUzWd4aT7DS/MZHUxL+5PCzRgj0ZYnpZSKZsYYpJkDw2GdHdSa0tLSKCwsjHQ2lGqU1NRU\nCgoKIp0NpRoUMy0Bb0kXgRwp1XT6fVVtqSUtAR0TUEqpDkwLAaWU6sC0EFBKqQ5MCwGllOrAtBAI\ngxUrVpCenk7nzp2ZPXt2wL633noLi8VCSkoKKSkp9O/fn6lTp7Jt27ZGH3/NmjXEx8eTkpJCjx49\nOPPMM3nhhRd8+wsLC4mLi2P48OEBn/vhhx9ITEzkRz/6kW/bli1bGD16ND169OC4447j3HPPZfv2\n7XXOk5KSQrdu3UhJSeHbb79tzmUJadeuXZx99tl06dKF9PR0du/eHTLtc889x+jRo+nSpQs///nP\n6+x/+eWX+elPf0pKSgpjxowhPz8/YP/ixYs58cQT6dGjB7/+9a9xOp1Nzu+iRYsYO7bumog//PAD\nnTp14uOPay+aq1TsaPeFgNMJjzwCd90Fr77aOufo27cvd911FzabLeT+kpISSkpKePfddxk0aBDn\nnnsumzZtavQ5fvazn1FSUkJxcTHz5s3j6quv5vDhwLAN5eXlATekp556igEDBvjeHz16lEsvvZQb\nb7yRw4cPU1RUxD333EOnTp3qnKekpISjR49SUlLCCSec0Oh8NsTpdDJ58mSmT59OcXEx06dPZ9Kk\nSVRVVQVN37t3b2666SZuv/32Ovs+++wzpk2bxsMPP0xxcTETJ07ksssuw+12A7Bu3Tr+8pe/sGnT\nJgoLC/n888+55557mpznadOm8c4779SZopyTk8MZZ5zBaaed1uRjKhU1Ir3wUZCFkCSYUNsPHBBZ\nulRk2TKRb74J3FdVJTJmjEhysgh4fmdlBT1MWNx5550ya9asgG25ubly8skn10k7f/58SU9Pb9Rx\nH3vsMTn33HN978vLy8UYI3l5eSIiUlBQIMYYue++++TWW2/1pTv77LPl/vvvl1NOOUVERLZt2yY9\ne/Zs9Hlaw/r166Vfv34B2/r37y/r1q2r93P//Oc/5fzzzw/Ytnz5cvnFL37he+92uyUpKUnefPNN\nERG5+uqr5Q9/+INv/5tvviknnHBCyHPk5+fL+PHjpVevXjJo0CB59tlnffsuvPBC+dOf/hSQfsSI\nEbJs2bKgxwr1fVWqNXi/b82658Z0S2DvXhgyBG67DW69FU47Db74omb/pk2waxeUe+OelZfDfffB\nsWM1aUpL4fLLoUsXOPFE+Pe/2ybvl19+OTt27KCioqJJn3O5XKxevZoePXowcOBA33ZjDNOmTePp\np59GRPj4448pKytjxIgRvjSnnnoqFouFmTNn8vrrr1NcXNyiv+HMM8+kV69e9OrVi549ewb8nj8/\n+FJRH330EWeccUad43z00UctyguA2+1GRNizZ4/vXGeeeWbAeb777rs6LSjwtKIuvPBCpk2bxvff\nf8/TTz/NvHnz2Lt3LwAzZszgiSee8KXft28fu3fvJjMzs8X5ViqSYroQuPVWOHrUc1M/dgyOHIG7\n767ZX1ICcbX+QmNqCgWA6dPhtdc827791vO+Cd31zXbSSSchIo2+Eb/zzjv06tWLpKQkbrvtNl5+\n+WW6desWkKZfv34MGjSIDRs28MQTT3DttdcG7O/WrRtbtmwhLi6OOXPmcPzxxzNp0iTsdnud81Tf\n0H/yk5+EzNPu3bs5dOgQhw4d4vDhwwG/ly9fHvQzpaWldO/ePWBbSkoKR48ebdR18Ddu3Djeeust\nNm/ejNPp5P7778fpdFLu/Qeufa6UlBREJOi5XnnlFU455RSmT5+OMYYzzzyTyy+/nOeeew6AKVOm\ncPDgQd59910AnnjiCSZMmEDv3r2bnG+loklMFwLffQf+D2W63Z4bebWf/Sxwf3w8DBoEPXvWbFu3\nDiora95XVsKGDa2X52pFRUUYY+jRo0ej0o8aNYpDhw5RXFzMZZddxqJFi4Kmu/baa3nsscd4+umn\n6xQCAAMHDmT16tUcOHCAPXv28PXXX7NgwYI656m+oX/66afN+wND6Nq1KyUlJQHbjhw5UqdAa4yB\nAweyZs0a5s2bx0knncShQ4cYPHgw/fr1C3quI0eOYIwJeq7CwkLefffdgALwqaee8g2KJyUlceWV\nV/L4448DsHbtWmbMmNHkPCsVbWK6EJg8GZKTa94nJ8OUKTXvTzgB3njDc+NPSYHzzoP16z2tgWop\nKYHHTEyERt6XW+T5559n2LBhJCUlNelzycnJrFy50lcDru2KK67g1VdfZcCAAb6bYSinnnoqM2fO\n9HWfNNWQIUN8M4lqzyj6zW9+E/Qzp59+Oh988EHAtg8++IDTTz+9WXm4/PLL+fDDD7Hb7WRlZVFQ\nUODrAjv99NMDZh7t2rWLPn360NO/FuB18sknk5GREVAAlpSUsGLFCl+aGTNm8Oyzz7JhwwZKS0uZ\nOHFis/KsVDSJ6ULg97+H667z9Od36QILFsD11wemSU+H/HxPV9Ebb0CfPoH7ly2DpCSwWDy/+/Xz\ndAk1hcvl4tixY7hcLqqqqqisrMTlcvn2i19z5Ouvv+bee+9l9erVPPDAA77t559/Pn/84x8bdb6e\nPXsyZ86cgM9XnyM5OZlNmzbxyCOP1Pncvn37+Otf/0pRkSey55dffklOTg6jRo0KmteG7NmzxzeT\nqPaMopUrVwb9TEZGBhaLhWXLluFwOFi6dClxcXFBp3+Cp5+/srISp9OJy+WisrIyYCbRjh07cLvd\n2O125syZw+TJk31dWNOnTyc7O5v8/HwOHz7Mn//8Z2bNCh7PaOLEiXzyySc8+eSTVFVV4XQ62bZt\nm29MAODcc8+le/fuzJkzh6uuuor4+JhZf1G1MrfbHfZWc5tp7ohya/3QxNlB4fD++yL33y+ycqVI\naWnTP5+VlSXGGImLi/P93HvvvSLimR1ksVikW7du0rVrV+nbt6/88pe/lPfffz/gGAMGDJA33ngj\n6PGDzdr56quvpHPnzrJ7924pKCiQuLg4cblcdT67ceNG3+ygoqIi+dWvfiV9+/aVrl27Sr9+/eT6\n66+Xo0eP+s4THx8v3bp18+W3W7dusm3btqZflHrs2rVLhg8fLsnJyTJ8+HDZvXu3b9/atWtlyJAh\nAX977WvrPwNrzJgx0q1bN+ndu7dcf/31Ul5eHnCuxYsXS58+faR79+5is9nE4XCEzNcnn3wiv/jF\nL8Rqtcpxxx0nF1xwQUDeRDz/1nFxcXX+/Wprze+rii6ff/65jB07Vi699NKI5YEWzA7SVUSjQFFR\nEVOnTmXLli2RzooKk/b8fVUebreblStXkpWVxe23386CBQuwWCwRyUtLVhHVQkCpVqDf1/Zt//79\nzJ49G4fDwaOPPhowXTsSIrqUtDGmnzHmTWPMR8aYD40xNwRJM9YYU2yM2eH9ubOl51VKqbbmdrtZ\nvnw5I0aM4NJLL+Xtt9+OeAHQUuEY2aoCficiu4wxXYHtxpj1IrK3VrrNInJZGM6nlFJtzr/2v3Xr\n1pi/+VdrcUtARL4VkV3e16VAPtA3SNJmNVWUUiqS2mPt319Y57gZY9KAs4D3guweZYzZBRQBt4qI\nLr2olIpq7bX27y9szwl4u4L+BdzobRH42w70F5GzgOXAf8J1XqWUCrf2Xvv3F5aWgDEmHk8B8ISI\nvFh7v3+hICL/Z4xZaYzpJSKHgh0vKyvL9zojI4OMjIxwZFMppRoUC7X/3NxccnNzw3KssEwRNcY8\nDnwvIr8Lsb+PiBz0vh4BPCsiaSHS6hRRFfP0+xp7omnef1O1ZIpoi1sCxpjRwDXAh8aYnYAAdwCp\neJ5iexi40hhzPeAEKoCpLT2vUkqFSyzU/ltLOGYHbRURi4icJSJDRWSYiLwuIv/wFgCIyAoRGeLd\n/zMRCTZwHJMcDge//vWvSUtLo3v37gwbNozXX3/dt1/DS9YVzvCScXFxdOvWzZfXOXPm+PZdf/31\nvu0pKSl07ty5zjLWjaHhJduvjtT3H1Jz15torR/CvXaQwyHy8MMid94p8sorzTtGPcrKyuTee++V\nAwcOiIjIK6+8It26dZPCwkIRqRtZrKioSO6++27p3LmzLwJWQ2qvHfSPf/xDOnfuLIcOHRKRmshi\n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\nSgAAAABJRU5ErkJggg==\n\"></div>", "selectedType": "Html", "pluginName": "IPython", - "shellId": "C52E2607E20544C788411157B4CD5289", - "elapsedTime": 523, - "height": 293 + "shellId": "4B35956E29D047B389A3AA6E8297BBBD", + "height": 0 }, "evaluatorReader": true, - "lineCount": 11 + "lineCount": 13 }, { "id": "codewmBBoc", @@ -2400,3778 +1727,546 @@ "evaluator": "IPython", "input": { "body": [ + "import pandas as pd", + "pd.set_option('max_colwidth', 800)", + "pd.set_option('display.expand_frame_repr', False)", + "", + "# Print descriptor selection frequency", "print \"Descriptor selection frequency\"", "for dim in dimensions: ", " df = pd.DataFrame( Counter(features_count[dim-1]).most_common(10), columns=['Features', 'Frequency'] )", " print '-----------------\\n%sD:\\n%s'%(dim,df)", "", - "# display errors and models in a table", + "# create table to display errors and models", "feat = np.array(features_count).flatten('F')", "Pred = np.array(P_predict).flatten('F')", - "Pred_errors = np.abs(P-P_predict).flatten('F')", - "Ref_values = [r for p in P for r in [p,'', ''] ]", - "Mats = [m for mat in compounds_list for m in [mat, mat, mat] ]", - "Dims = ['1D','2D','3D']*compounds", - "", - "df = pd.DataFrame(zip(Ref_values,Pred,Pred_errors,feat), index = [Mats,Dims], columns=['P_ref[eV]','P_pred[eV]','abs. error [eV]','Selected features'])", - "#print df", - "print display(df)" - ] - }, - "output": { - "state": {}, - "result": { - "type": "Results", - "outputdata": [ - { - "type": "out", - "value": "Descriptor selection frequency\n-----------------\n1D:\n Features Frequency\n0 (IP(A)+IP(B)/r_p(A)^2,) 75\n1 (IP(A)+IP(B)/(r_s(A)+r_p(A))^2,) 3\n2 (EA(A)+IP(B)/r_p(A)^2,) 2\n3 (|IP(B)-EA(B)|/exp(r_p(A)^2),) 1\n4 (IP(B)/exp(r_p(A)^2),) 1\n-----------------\n2D:\n Features Frequency\n0 (IP(A)+IP(B)/r_p(A)^2, |IP(B)-EA(B)|/exp(r_p(A)^2)) 40\n1 (IP(A)+IP(B)/(r_s(A)+r_p(A))^2, |IP(B)-EA(B)|/exp(r_p(A)^2)) 23\n2 (|IP(A)-EA(B)|/exp(r_p(A)+r_d(B)), |IP(B)-EA(B)|/exp(r_p(A)^2)) 16\n3 (IP(A)+IP(B)/(r_s(A)+r_p(A))^2, |IP(B)-EA(B)|/r_p(A)^2) 1\n4 (IP(A)+IP(B)/(r_s(A)+r_p(A))^2, EA(A)+IP(B)/r_p(A)^2) 1\n5 (|IP(A)-EA(A)|/exp(r_p(A)+r_d(B)), |IP(B)-EA(B)|/exp(r_p(A)^2)) 1\n-----------------\n3D:\n Features Frequency\n0 (IP(A)+IP(B)/r_p(A)^2, IP(A)+IP(B)/(r_s(A)+r_p(A))^2, |IP(B)-EA(B)|/exp(r_p(A)^2)) 53\n1 (IP(A)+IP(B)/r_p(A)^2, |IP(A)-EA(B)|/exp(r_p(A)+r_d(B)), |IP(B)-EA(B)|/exp(r_p(A)^2)) 16\n2 (IP(A)+IP(B)/r_p(A)^2, |IP(B)-EA(B)|/r_p(A)^2, |IP(B)-EA(B)|/exp(r_p(A)^2)) 7\n3 (|IP(A)-EA(A)|/exp(r_p(A)+r_d(B)), IP(A)+IP(B)/r_p(A)^2, |IP(B)-EA(B)|/exp(r_p(A)^2)) 2\n4 (IP(A)+IP(B)/r_p(A)^2, IP(A)+IP(B)/(r_s(A)+r_p(A))^2, EA(A)+IP(B)/r_p(A)^2) 1\n5 (IP(B)/exp(r_p(A)^2), |IP(A)-EA(A)|/exp(r_p(A)+r_d(B)), |IP(B)-EA(B)|/exp(r_p(A)^2)) 1\n6 (IP(A)+IP(B)/r_p(A)^2, IP(A)+IP(B)/(r_s(A)+r_p(A))^2, |IP(B)-EA(B)|/r_p(A)^2) 1\n7 (IP(A)+IP(B)/(r_s(A)+r_p(A))^2, EA(A)+IP(B)/r_p(A)^2, |IP(B)-EA(B)|/exp(r_p(A)^2)) 1\n" - }, - { - "type": "out", - "value": "None\n" - } - ], - "payload": { - "columnNames": [ - "Index", - "P_ref[eV]", - "P_pred[eV]", - "abs. error [eV]", - "Selected features" - ], - "subtype": "TableDisplay", - "values": [ - [ - [ - "SeZn", - "1D" - ], - 0.26313689928065287, - 0.15075501713083517, - 0.1123818821498177, - [ - "IP(A)+IP(B)/r_p(A)^2" - ] - ], - [ - [ - "SeZn", - "2D" - ], - "", - 0.10408767606373043, - 0.15904922321692244, - [ - "IP(A)+IP(B)/r_p(A)^2", - "|IP(B)-EA(B)|/exp(r_p(A)^2)" - ] - ], - [ - [ - "SeZn", - "3D" - ], - "", - 0.09614296479241374, - 0.16699393448823913, - [ - "IP(A)+IP(B)/r_p(A)^2", - "|IP(B)-EA(B)|/r_p(A)^2", - "|IP(B)-EA(B)|/exp(r_p(A)^2)" - ] - ], - [ - [ - "InSb", - "1D" - ], - 0.07805987301981077, - 0.010430700721948793, - 0.06762917229786197, - [ - "IP(A)+IP(B)/r_p(A)^2" - ] - ], - [ - [ - "InSb", - "2D" - ], - "", - 0.024267161497522838, - 0.05379271152228793, - [ - "IP(A)+IP(B)/r_p(A)^2", - "|IP(B)-EA(B)|/exp(r_p(A)^2)" - ] - ], - [ - [ - "InSb", - "3D" - ], - "", - 0.0262436064669945, - 0.051816266552816265, - [ - "IP(A)+IP(B)/r_p(A)^2", - "IP(A)+IP(B)/(r_s(A)+r_p(A))^2", - "|IP(B)-EA(B)|/exp(r_p(A)^2)" - ] - ], - [ - [ - "CuI", - "1D" - ], - 0.20467458326311316, - 0.05002565589327851, - 0.15464892736983465, - [ - "IP(A)+IP(B)/r_p(A)^2" - ] - ], - [ - [ - "CuI", - "2D" - ], - "", - 0.003655216415296994, - 0.20101936684781618, - [ - "IP(A)+IP(B)/r_p(A)^2", - "|IP(B)-EA(B)|/exp(r_p(A)^2)" - ] - ], - [ - [ - "CuI", - "3D" - ], - "", - -0.0017214765258616038, - 0.20639605978897477, - [ - "IP(A)+IP(B)/r_p(A)^2", - "|IP(B)-EA(B)|/r_p(A)^2", - "|IP(B)-EA(B)|/exp(r_p(A)^2)" - ] - ], - [ - [ - "SZn", - "1D" - ], - 0.27581332560657756, - 0.17034521532568908, - 0.10546811028088848, - [ - "IP(A)+IP(B)/r_p(A)^2" - ] - ], - [ - [ - "SZn", - "2D" - ], - "", - 0.09354658624739562, - 0.18226673935918195, - [ - "|IP(A)-EA(B)|/exp(r_p(A)+r_d(B))", - "|IP(B)-EA(B)|/exp(r_p(A)^2)" - ] - ], - [ - [ - "SZn", - "3D" - ], - "", - 0.11807568523890133, - 0.15773764036767624, - [ - "IP(A)+IP(B)/r_p(A)^2", - "|IP(A)-EA(B)|/exp(r_p(A)+r_d(B))", - "|IP(B)-EA(B)|/exp(r_p(A)^2)" - ] - ], - [ - [ - "BN", - "1D" - ], - 1.7120802608362737, - 1.3035945137988982, - 0.4084857470373755, - [ - "IP(A)+IP(B)/(r_s(A)+r_p(A))^2" - ] - ], - [ - [ - "BN", - "2D" - ], - "", - 1.548044888762232, - 0.16403537207404173, - [ - "IP(A)+IP(B)/(r_s(A)+r_p(A))^2", - "|IP(B)-EA(B)|/exp(r_p(A)^2)" - ] - ], - [ - [ - "BN", - "3D" - ], - "", - 1.5508932569894727, - 0.16118700384680107, - [ - "IP(A)+IP(B)/r_p(A)^2", - "IP(A)+IP(B)/(r_s(A)+r_p(A))^2", - "|IP(B)-EA(B)|/exp(r_p(A)^2)" - ] - ], - [ - [ - "OSr", - "1D" - ], - -0.22030662317411043, - -0.14037278049088256, - 0.07993384268322787, - [ - "IP(A)+IP(B)/r_p(A)^2" - ] - ], - [ - [ - "OSr", - "2D" - ], - "", - -0.16694362458865747, - 0.05336299858545296, - [ - "IP(A)+IP(B)/r_p(A)^2", - "|IP(B)-EA(B)|/exp(r_p(A)^2)" - ] - ], - [ - [ - "OSr", - "3D" - ], - "", - -0.17513133440968193, - 0.0451752887644285, - [ - "IP(A)+IP(B)/r_p(A)^2", - "IP(A)+IP(B)/(r_s(A)+r_p(A))^2", - "|IP(B)-EA(B)|/exp(r_p(A)^2)" - ] - ], - [ - [ - "BrRb", - "1D" - ], - -0.16382053142297082, - -0.24274968536589991, - 0.0789291539429291, - [ - "IP(A)+IP(B)/r_p(A)^2" - ] - ], - [ - [ - "BrRb", - "2D" - ], - "", - -0.254991385235336, - 0.09117085381236517, - [ - "IP(A)+IP(B)/(r_s(A)+r_p(A))^2", - "|IP(B)-EA(B)|/exp(r_p(A)^2)" - ] - ], - [ - [ - "BrRb", - "3D" - ], - "", - -0.2433736028929855, - 0.0795530714700147, - [ - "IP(A)+IP(B)/r_p(A)^2", - "IP(A)+IP(B)/(r_s(A)+r_p(A))^2", - "|IP(B)-EA(B)|/exp(r_p(A)^2)" - ] - ], - [ - [ - "BaTe", - "1D" - ], - -0.37538680966827087, - -0.20645395160035496, - 0.16893285806791591, - [ - "IP(A)+IP(B)/r_p(A)^2" - ] - ], - [ - [ - "BaTe", - "2D" - ], - "", - -0.1925321493235888, - 0.18285466034468206, - [ - "|IP(A)-EA(B)|/exp(r_p(A)+r_d(B))", - "|IP(B)-EA(B)|/exp(r_p(A)^2)" - ] - ], - [ - [ - "BaTe", - "3D" - ], - "", - -0.20100616385225667, - 0.1743806458160142, - [ - "IP(A)+IP(B)/r_p(A)^2", - "|IP(A)-EA(B)|/exp(r_p(A)+r_d(B))", - "|IP(B)-EA(B)|/exp(r_p(A)^2)" - ] - ], - [ - [ - "BeSe", - "1D" - ], - 0.4949404427752597, - 0.43611360324663845, - 0.05882683952862128, - [ - "IP(A)+IP(B)/r_p(A)^2" - ] - ], - [ - [ - "BeSe", - "2D" - ], - "", - 0.4479492377164868, - 0.04699120505877291, - [ - "IP(A)+IP(B)/r_p(A)^2", - "|IP(B)-EA(B)|/exp(r_p(A)^2)" - ] - ], - [ - [ - "BeSe", - "3D" - ], - "", - 0.4347689250525012, - 0.06017151772275853, - [ - "IP(A)+IP(B)/r_p(A)^2", - "|IP(B)-EA(B)|/r_p(A)^2", - "|IP(B)-EA(B)|/exp(r_p(A)^2)" - ] - ], - [ - [ - "MgS", - "1D" - ], - -0.08669950498824619, - -0.028290484952968098, - 0.05840902003527809, - [ - "IP(A)+IP(B)/r_p(A)^2" - ] - ], - [ - [ - "MgS", - "2D" - ], - "", - -0.07112915360347809, - 0.015570351384768102, - [ - "IP(A)+IP(B)/r_p(A)^2", - "|IP(B)-EA(B)|/exp(r_p(A)^2)" - ] - ], - [ - [ - "MgS", - "3D" - ], - "", - -0.0632212755409576, - 0.023478229447288584, - [ - "IP(A)+IP(B)/r_p(A)^2", - "IP(A)+IP(B)/(r_s(A)+r_p(A))^2", - "|IP(B)-EA(B)|/exp(r_p(A)^2)" - ] - ], - [ - [ - "GaN", - "1D" - ], - 0.4334452390939987, - 0.2710609560127196, - 0.16238428308127906, - [ - "IP(A)+IP(B)/r_p(A)^2" - ] - ], - [ - [ - "GaN", - "2D" - ], - "", - 0.42672587680422613, - 0.006719362289772546, - [ - "|IP(A)-EA(B)|/exp(r_p(A)+r_d(B))", - "|IP(B)-EA(B)|/exp(r_p(A)^2)" - ] - ], - [ - [ - "GaN", - "3D" - ], - "", - 0.37504550324728203, - 0.05839973584671665, - [ - "IP(A)+IP(B)/r_p(A)^2", - "|IP(A)-EA(B)|/exp(r_p(A)+r_d(B))", - "|IP(B)-EA(B)|/exp(r_p(A)^2)" - ] - ], - [ - [ - "BrNa", - "1D" - ], - -0.12642872788273962, - -0.18757753281419554, - 0.06114880493145591, - [ - "IP(A)+IP(B)/r_p(A)^2" - ] - ], - [ - [ - "BrNa", - "2D" - ], - "", - -0.19469158849116647, - 0.06826286060842685, - [ - "IP(A)+IP(B)/r_p(A)^2", - "|IP(B)-EA(B)|/exp(r_p(A)^2)" - ] - ], - [ - [ - "BrNa", - "3D" - ], - "", - -0.2019905574980913, - 0.07556182961535168, - [ - "IP(A)+IP(B)/r_p(A)^2", - "IP(A)+IP(B)/(r_s(A)+r_p(A))^2", - "|IP(B)-EA(B)|/exp(r_p(A)^2)" - ] - ], - [ - [ - "BP", - "1D" - ], - 1.0192251611952088, - 1.113247384914104, - 0.09402222371889524, - [ - "IP(A)+IP(B)/r_p(A)^2" - ] - ], - [ - [ - "BP", - "2D" - ], - "", - 1.1510030108272615, - 0.13177784963205275, - [ - "IP(A)+IP(B)/r_p(A)^2", - "|IP(B)-EA(B)|/exp(r_p(A)^2)" - ] - ], - [ - [ - "BP", - "3D" - ], - "", - 1.1349441878035342, - 0.11571902660832545, - [ - "IP(A)+IP(B)/r_p(A)^2", - "IP(A)+IP(B)/(r_s(A)+r_p(A))^2", - "|IP(B)-EA(B)|/exp(r_p(A)^2)" - ] - ], - [ - [ - "ClRb", - "1D" - ], - -0.1605035540778772, - -0.23589987195133605, - 0.07539631787345885, - [ - "IP(A)+IP(B)/r_p(A)^2" - ] - ], - [ - [ - "ClRb", - "2D" - ], - "", - -0.249993325740931, - 0.0894897716630538, - [ - "IP(A)+IP(B)/(r_s(A)+r_p(A))^2", - "|IP(B)-EA(B)|/exp(r_p(A)^2)" - ] - ], - [ - [ - "ClRb", - "3D" - ], - "", - -0.2387353824693668, - 0.0782318283914896, - [ - "IP(A)+IP(B)/r_p(A)^2", - "IP(A)+IP(B)/(r_s(A)+r_p(A))^2", - "|IP(B)-EA(B)|/exp(r_p(A)^2)" - ] - ], - [ - [ - "MgSe", - "1D" - ], - -0.05530180195637513, - -0.041884204767444755, - 0.013417597188930375, - [ - "IP(A)+IP(B)/r_p(A)^2" - ] - ], - [ - [ - "MgSe", - "2D" - ], - "", - -0.08225654764534386, - 0.02695474568896873, - [ - "IP(A)+IP(B)/r_p(A)^2", - "|IP(B)-EA(B)|/exp(r_p(A)^2)" - ] - ], - [ - [ - "MgSe", - "3D" - ], - "", - -0.07593747446757904, - 0.020635672511203906, - [ - "IP(A)+IP(B)/r_p(A)^2", - "IP(A)+IP(B)/(r_s(A)+r_p(A))^2", - "|IP(B)-EA(B)|/exp(r_p(A)^2)" - ] - ], - [ - [ - "FK", - "1D" - ], - -0.1464060984981188, - -0.11080937802036578, - 0.03559672047775303, - [ - "IP(A)+IP(B)/r_p(A)^2" - ] - ], - [ - [ - "FK", - "2D" - ], - "", - -0.148692438740857, - 0.0022863402427381885, - [ - "IP(A)+IP(B)/r_p(A)^2", - "|IP(B)-EA(B)|/exp(r_p(A)^2)" - ] - ], - [ - [ - "FK", - "3D" - ], - "", - -0.16427732140602436, - 0.01787122290790555, - [ - "IP(A)+IP(B)/r_p(A)^2", - "IP(A)+IP(B)/(r_s(A)+r_p(A))^2", - "|IP(B)-EA(B)|/exp(r_p(A)^2)" - ] - ], - [ - [ - "BrLi", - "1D" - ], - -0.03274621288437629, - -0.08502248714970942, - 0.05227627426533313, - [ - "IP(A)+IP(B)/r_p(A)^2" - ] - ], - [ - [ - "BrLi", - "2D" - ], - "", - -0.13834996543750025, - 0.10560375255312396, - [ - "IP(A)+IP(B)/(r_s(A)+r_p(A))^2", - "|IP(B)-EA(B)|/exp(r_p(A)^2)" - ] - ], - [ - [ - "BrLi", - "3D" - ], - "", - -0.1264886438622566, - 0.09374243097788032, - [ - "IP(A)+IP(B)/r_p(A)^2", - "IP(A)+IP(B)/(r_s(A)+r_p(A))^2", - "|IP(B)-EA(B)|/exp(r_p(A)^2)" - ] - ], - [ - [ - "BSb", - "1D" - ], - 0.5808491143689025, - 1.0327850310079163, - 0.4519359166390138, - [ - "IP(A)+IP(B)/r_p(A)^2" - ] - ], - [ - [ - "BSb", - "2D" - ], - "", - 1.0145028211930622, - 0.4336537068241597, - [ - "IP(A)+IP(B)/r_p(A)^2", - "|IP(B)-EA(B)|/exp(r_p(A)^2)" - ] - ], - [ - [ - "BSb", - "3D" - ], - "", - 0.9598292018572339, - 0.37898008748833134, - [ - "|IP(A)-EA(A)|/exp(r_p(A)+r_d(B))", - "IP(A)+IP(B)/r_p(A)^2", - "|IP(B)-EA(B)|/exp(r_p(A)^2)" - ] - ], - [ - [ - "MgTe", - "1D" - ], - -0.004591286648064852, - -0.05935249040334606, - 0.05476120375528121, - [ - "IP(A)+IP(B)/r_p(A)^2" - ] - ], - [ - [ - "MgTe", - "2D" - ], - "", - -0.09670621442054789, - 0.09211492777248304, - [ - "IP(A)+IP(B)/r_p(A)^2", - "|IP(B)-EA(B)|/exp(r_p(A)^2)" - ] - ], - [ - [ - "MgTe", - "3D" - ], - "", - -0.0922855466419769, - 0.08769425999391205, - [ - "IP(A)+IP(B)/r_p(A)^2", - "IP(A)+IP(B)/(r_s(A)+r_p(A))^2", - "|IP(B)-EA(B)|/exp(r_p(A)^2)" - ] - ], - [ - [ - "GeSn", - "1D" - ], - 0.08166336023714393, - 0.11731681383632336, - 0.03565345359917943, - [ - "IP(A)+IP(B)/r_p(A)^2" - ] - ], - [ - [ - "GeSn", - "2D" - ], - "", - 0.1482077713071261, - 0.06654441106998216, - [ - "IP(A)+IP(B)/r_p(A)^2", - "|IP(B)-EA(B)|/exp(r_p(A)^2)" - ] - ], - [ - [ - "GeSn", - "3D" - ], - "", - 0.151558355038813, - 0.06989499480166905, - [ - "IP(A)+IP(B)/r_p(A)^2", - "IP(A)+IP(B)/(r_s(A)+r_p(A))^2", - "|IP(B)-EA(B)|/exp(r_p(A)^2)" - ] - ], - [ - [ - "GeSi", - "1D" - ], - 0.263210170178354, - 0.29699847224837655, - 0.033788302070022536, - [ - "IP(A)+IP(B)/r_p(A)^2" - ] - ], - [ - [ - "GeSi", - "2D" - ], - "", - 0.3859780139690557, - 0.12276784379070166, - [ - "IP(A)+IP(B)/(r_s(A)+r_p(A))^2", - "|IP(B)-EA(B)|/exp(r_p(A)^2)" - ] - ], - [ - [ - "GeSi", - "3D" - ], - "", - 0.36916764066184293, - 0.10595747048348891, - [ - "IP(A)+IP(B)/r_p(A)^2", - "IP(A)+IP(B)/(r_s(A)+r_p(A))^2", - "|IP(B)-EA(B)|/exp(r_p(A)^2)" - ] - ], - [ - [ - "CaTe", - "1D" - ], - -0.35045627907675225, - -0.16203822455610858, - 0.18841805452064367, - [ - "IP(A)+IP(B)/r_p(A)^2" - ] - ], - [ - [ - "CaTe", - "2D" - ], - "", - -0.15606928151715715, - 0.1943869975595951, - [ - "|IP(A)-EA(B)|/exp(r_p(A)+r_d(B))", - "|IP(B)-EA(B)|/exp(r_p(A)^2)" - ] - ], - [ - [ - "CaTe", - "3D" - ], - "", - -0.1604809062005757, - 0.18997537287617655, - [ - "IP(A)+IP(B)/r_p(A)^2", - "|IP(A)-EA(B)|/exp(r_p(A)+r_d(B))", - "|IP(B)-EA(B)|/exp(r_p(A)^2)" - ] - ], - [ - [ - "ClK", - "1D" - ], - -0.1644606802110502, - -0.16236946068218513, - 0.002091219528865068, - [ - "IP(A)+IP(B)/r_p(A)^2" - ] - ], - [ - [ - "ClK", - "2D" - ], - "", - -0.21442169074788348, - 0.04996101053683327, - [ - "IP(A)+IP(B)/(r_s(A)+r_p(A))^2", - "|IP(B)-EA(B)|/exp(r_p(A)^2)" - ] - ], - [ - [ - "ClK", - "3D" - ], - "", - -0.19707523313392644, - 0.03261455292287624, - [ - "IP(A)+IP(B)/r_p(A)^2", - "IP(A)+IP(B)/(r_s(A)+r_p(A))^2", - "|IP(B)-EA(B)|/exp(r_p(A)^2)" - ] - ], - [ - [ - "BaO", - "1D" - ], - -0.09299855386780109, - -0.15834591093763473, - 0.06534735706983363, - [ - "IP(A)+IP(B)/r_p(A)^2" - ] - ], - [ - [ - "BaO", - "2D" - ], - "", - -0.2083666648949893, - 0.11536811102718822, - [ - "IP(A)+IP(B)/(r_s(A)+r_p(A))^2", - "|IP(B)-EA(B)|/exp(r_p(A)^2)" - ] - ], - [ - [ - "BaO", - "3D" - ], - "", - -0.1946282696726691, - 0.10162971580486801, - [ - "IP(A)+IP(B)/r_p(A)^2", - "IP(A)+IP(B)/(r_s(A)+r_p(A))^2", - "|IP(B)-EA(B)|/exp(r_p(A)^2)" - ] - ], - [ - [ - "BrCs", - "1D" - ], - -0.15586730299401097, - -0.24213268097829002, - 0.08626537798427905, - [ - "IP(A)+IP(B)/r_p(A)^2" - ] - ], - [ - [ - "BrCs", - "2D" - ], - "", - -0.2606850069706735, - 0.10481770397666251, - [ - "IP(A)+IP(B)/(r_s(A)+r_p(A))^2", - "|IP(B)-EA(B)|/exp(r_p(A)^2)" - ] - ], - [ - [ - "BrCs", - "3D" - ], - "", - -0.24668865851760152, - 0.09082135552359055, - [ - "IP(A)+IP(B)/r_p(A)^2", - "IP(A)+IP(B)/(r_s(A)+r_p(A))^2", - "|IP(B)-EA(B)|/exp(r_p(A)^2)" - ] - ], - [ - [ - "CsF", - "1D" - ], - -0.10826331867428962, - -0.20482227386986826, - 0.09655895519557864, - [ - "IP(A)+IP(B)/r_p(A)^2" - ] - ], - [ - [ - "CsF", - "2D" - ], - "", - -0.23614153134354054, - 0.12787821266925092, - [ - "IP(A)+IP(B)/(r_s(A)+r_p(A))^2", - "|IP(B)-EA(B)|/exp(r_p(A)^2)" - ] - ], - [ - [ - "CsF", - "3D" - ], - "", - -0.22335520586286622, - 0.1150918871885766, - [ - "IP(A)+IP(B)/r_p(A)^2", - "IP(A)+IP(B)/(r_s(A)+r_p(A))^2", - "|IP(B)-EA(B)|/exp(r_p(A)^2)" - ] - ], - [ - [ - "BrCu", - "1D" - ], - 0.15244263978820527, - 0.0782860496108394, - 0.07415659017736587, - [ - "IP(A)+IP(B)/r_p(A)^2" - ] - ], - [ - [ - "BrCu", - "2D" - ], - "", - 0.031127098433707368, - 0.1213155413544979, - [ - "IP(A)+IP(B)/r_p(A)^2", - "|IP(B)-EA(B)|/exp(r_p(A)^2)" - ] - ], - [ - [ - "BrCu", - "3D" - ], - "", - 0.0460286935282225, - 0.10641394625998277, - [ - "IP(A)+IP(B)/r_p(A)^2", - "IP(A)+IP(B)/(r_s(A)+r_p(A))^2", - "|IP(B)-EA(B)|/exp(r_p(A)^2)" - ] - ], - [ - [ - "CGe", - "1D" - ], - 0.8114428802000475, - 0.41605668261594536, - 0.39538619758410215, - [ - "IP(A)+IP(B)/r_p(A)^2" - ] - ], - [ - [ - "CGe", - "2D" - ], - "", - 0.5332009592483586, - 0.27824192095168887, - [ - "IP(A)+IP(B)/r_p(A)^2", - "|IP(B)-EA(B)|/exp(r_p(A)^2)" - ] - ], - [ - [ - "CGe", - "3D" - ], - "", - 0.5805244022185156, - 0.23091847798153187, - [ - "|IP(A)-EA(A)|/exp(r_p(A)+r_d(B))", - "IP(A)+IP(B)/r_p(A)^2", - "|IP(B)-EA(B)|/exp(r_p(A)^2)" - ] - ], - [ - [ - "ILi", - "1D" - ], - -0.021660936341504566, - -0.10474638300303268, - 0.08308544666152812, - [ - "IP(A)+IP(B)/r_p(A)^2" - ] - ], - [ - [ - "ILi", - "2D" - ], - "", - -0.15431150109987418, - 0.13265056475836962, - [ - "IP(A)+IP(B)/(r_s(A)+r_p(A))^2", - "|IP(B)-EA(B)|/exp(r_p(A)^2)" - ] - ], - [ - [ - "ILi", - "3D" - ], - "", - -0.1422720814246235, - 0.12061114508311893, - [ - "IP(A)+IP(B)/r_p(A)^2", - "IP(A)+IP(B)/(r_s(A)+r_p(A))^2", - "|IP(B)-EA(B)|/exp(r_p(A)^2)" - ] - ], - [ - [ - "FLi", - "1D" - ], - -0.059488316863735236, - 0.009905525772004098, - 0.06939384263573933, - [ - "IP(A)+IP(B)/r_p(A)^2" - ] - ], - [ - [ - "FLi", - "2D" - ], - "", - -0.04503785302350325, - 0.014450463840231985, - [ - "IP(A)+IP(B)/r_p(A)^2", - "|IP(B)-EA(B)|/exp(r_p(A)^2)" - ] - ], - [ - [ - "FLi", - "3D" - ], - "", - -0.04955294251156825, - 0.009935374352166987, - [ - "IP(A)+IP(B)/r_p(A)^2", - "IP(A)+IP(B)/(r_s(A)+r_p(A))^2", - "|IP(B)-EA(B)|/exp(r_p(A)^2)" - ] - ], - [ - [ - "CuF", - "1D" - ], - -0.017022272342728684, - 0.3748617000333072, - 0.3918839723760359, - [ - "EA(A)+IP(B)/r_p(A)^2" - ] - ], - [ - [ - "CuF", - "2D" - ], - "", - 0.2264103829871889, - 0.2434326553299176, - [ - "IP(A)+IP(B)/(r_s(A)+r_p(A))^2", - "|IP(B)-EA(B)|/exp(r_p(A)^2)" - ] - ], - [ - [ - "CuF", - "3D" - ], - "", - 0.25444611878158074, - 0.2714683911243094, - [ - "IP(A)+IP(B)/(r_s(A)+r_p(A))^2", - "EA(A)+IP(B)/r_p(A)^2", - "|IP(B)-EA(B)|/exp(r_p(A)^2)" - ] - ], - [ - [ - "FNa", - "1D" - ], - -0.14578813778780386, - -0.13104841462162983, - 0.014739723166174029, - [ - "IP(A)+IP(B)/r_p(A)^2" - ] - ], - [ - [ - "FNa", - "2D" - ], - "", - -0.16318630022499936, - 0.017398162437195497, - [ - "IP(A)+IP(B)/r_p(A)^2", - "|IP(B)-EA(B)|/exp(r_p(A)^2)" - ] - ], - [ - [ - "FNa", - "3D" - ], - "", - -0.16249983689623929, - 0.016711699108435424, - [ - "IP(A)+IP(B)/r_p(A)^2", - "IP(A)+IP(B)/(r_s(A)+r_p(A))^2", - "|IP(B)-EA(B)|/exp(r_p(A)^2)" - ] - ], - [ - [ - "C2", - "1D" - ], - 2.628603639133644, - 1.676269194751174, - 0.9523344443824697, - [ - "IP(B)/exp(r_p(A)^2)" - ] - ], - [ - [ - "C2", - "2D" - ], - "", - 2.004379329975119, - 0.6242243091585249, - [ - "|IP(A)-EA(A)|/exp(r_p(A)+r_d(B))", - "|IP(B)-EA(B)|/exp(r_p(A)^2)" - ] - ], - [ - [ - "C2", - "3D" - ], - "", - 1.9716796849846028, - 0.656923954149041, - [ - "IP(B)/exp(r_p(A)^2)", - "|IP(A)-EA(A)|/exp(r_p(A)+r_d(B))", - "|IP(B)-EA(B)|/exp(r_p(A)^2)" - ] - ], - [ - [ - "AgBr", - "1D" - ], - -0.03003341671137605, - -0.008625857599109832, - 0.021407559112266217, - [ - "IP(A)+IP(B)/r_p(A)^2" - ] - ], - [ - [ - "AgBr", - "2D" - ], - "", - -0.0583843195828342, - 0.028350902871458153, - [ - "IP(A)+IP(B)/r_p(A)^2", - "|IP(B)-EA(B)|/exp(r_p(A)^2)" - ] - ], - [ - [ - "AgBr", - "3D" - ], - "", - -0.04859291859842152, - 0.01855950188704547, - [ - "IP(A)+IP(B)/r_p(A)^2", - "IP(A)+IP(B)/(r_s(A)+r_p(A))^2", - "|IP(B)-EA(B)|/exp(r_p(A)^2)" - ] - ], - [ - [ - "MgO", - "1D" - ], - -0.23227472431699425, - 0.04535181474255828, - 0.27762653905955254, - [ - "IP(A)+IP(B)/r_p(A)^2" - ] - ], - [ - [ - "MgO", - "2D" - ], - "", - 0.09853451622601678, - 0.33080924054301103, - [ - "IP(A)+IP(B)/(r_s(A)+r_p(A))^2", - "|IP(B)-EA(B)|/r_p(A)^2" - ] - ], - [ - [ - "MgO", - "3D" - ], - "", - 0.09109887065081701, - 0.32337359496781126, - [ - "IP(A)+IP(B)/r_p(A)^2", - "IP(A)+IP(B)/(r_s(A)+r_p(A))^2", - "|IP(B)-EA(B)|/r_p(A)^2" - ] - ], - [ - [ - "FRb", - "1D" - ], - -0.13559577698470093, - -0.20602950410010648, - 0.07043372711540555, - [ - "IP(A)+IP(B)/r_p(A)^2" - ] - ], - [ - [ - "FRb", - "2D" - ], - "", - -0.22847221751730726, - 0.09287644053260632, - [ - "IP(A)+IP(B)/(r_s(A)+r_p(A))^2", - "|IP(B)-EA(B)|/exp(r_p(A)^2)" - ] - ], - [ - [ - "FRb", - "3D" - ], - "", - -0.2188472312323513, - 0.08325145424765037, - [ - "IP(A)+IP(B)/r_p(A)^2", - "IP(A)+IP(B)/(r_s(A)+r_p(A))^2", - "|IP(B)-EA(B)|/exp(r_p(A)^2)" - ] - ], - [ - [ - "AlN", - "1D" - ], - 0.07294907316963872, - 0.3863584753122066, - 0.31340940214256785, - [ - "|IP(B)-EA(B)|/exp(r_p(A)^2)" - ] - ], - [ - [ - "AlN", - "2D" - ], - "", - 0.3098671672806199, - 0.2369180941109812, - [ - "IP(A)+IP(B)/r_p(A)^2", - "|IP(B)-EA(B)|/exp(r_p(A)^2)" - ] - ], - [ - [ - "AlN", - "3D" - ], - "", - 0.3296374677279463, - 0.25668839455830755, - [ - "IP(A)+IP(B)/r_p(A)^2", - "|IP(B)-EA(B)|/r_p(A)^2", - "|IP(B)-EA(B)|/exp(r_p(A)^2)" - ] - ], - [ - [ - "Si2", - "1D" - ], - 0.27916582154830394, - 0.339546480618584, - 0.06038065907028006, - [ - "IP(A)+IP(B)/r_p(A)^2" - ] - ], - [ - [ - "Si2", - "2D" - ], - "", - 0.4170263653678212, - 0.13786054381951723, - [ - "IP(A)+IP(B)/(r_s(A)+r_p(A))^2", - "|IP(B)-EA(B)|/exp(r_p(A)^2)" - ] - ], - [ - [ - "Si2", - "3D" - ], - "", - 0.40564171013765093, - 0.126475888589347, - [ - "IP(A)+IP(B)/r_p(A)^2", - "IP(A)+IP(B)/(r_s(A)+r_p(A))^2", - "|IP(B)-EA(B)|/exp(r_p(A)^2)" - ] - ], - [ - [ - "SiSn", - "1D" - ], - 0.1351087991060922, - 0.12259476388283252, - 0.012514035223259667, - [ - "IP(A)+IP(B)/r_p(A)^2" - ] - ], - [ - [ - "SiSn", - "2D" - ], - "", - 0.15460769821840303, - 0.01949889911231084, - [ - "IP(A)+IP(B)/r_p(A)^2", - "|IP(B)-EA(B)|/exp(r_p(A)^2)" - ] - ], - [ - [ - "SiSn", - "3D" - ], - "", - 0.1582679569068775, - 0.023159157800785313, - [ - "IP(A)+IP(B)/r_p(A)^2", - "IP(A)+IP(B)/(r_s(A)+r_p(A))^2", - "|IP(B)-EA(B)|/exp(r_p(A)^2)" - ] - ], - [ - [ - "ClLi", - "1D" - ], - -0.03838148269915109, - -0.06737773621669169, - 0.028996253517540593, - [ - "IP(A)+IP(B)/r_p(A)^2" - ] - ], - [ - [ - "ClLi", - "2D" - ], - "", - -0.12421013337412998, - 0.08582865067497888, - [ - "IP(A)+IP(B)/(r_s(A)+r_p(A))^2", - "|IP(B)-EA(B)|/exp(r_p(A)^2)" - ] - ], - [ - [ - "ClLi", - "3D" - ], - "", - -0.11256306965330465, - 0.07418158695415356, - [ - "IP(A)+IP(B)/r_p(A)^2", - "IP(A)+IP(B)/(r_s(A)+r_p(A))^2", - "|IP(B)-EA(B)|/exp(r_p(A)^2)" - ] - ], - [ - [ - "ClNa", - "1D" - ], - -0.13299198508138943, - -0.1770198408639989, - 0.04402785578260948, - [ - "IP(A)+IP(B)/r_p(A)^2" - ] - ], - [ - [ - "ClNa", - "2D" - ], - "", - -0.18881172962083198, - 0.05581974453944255, - [ - "IP(A)+IP(B)/r_p(A)^2", - "|IP(B)-EA(B)|/exp(r_p(A)^2)" - ] - ], - [ - [ - "ClNa", - "3D" - ], - "", - -0.19456368337112262, - 0.06157169828973319, - [ - "IP(A)+IP(B)/r_p(A)^2", - "IP(A)+IP(B)/(r_s(A)+r_p(A))^2", - "|IP(B)-EA(B)|/exp(r_p(A)^2)" - ] - ], - [ - [ - "AsIn", - "1D" - ], - 0.13404757519310806, - 0.029460564827793356, - 0.1045870103653147, - [ - "IP(A)+IP(B)/r_p(A)^2" - ] - ], - [ - [ - "AsIn", - "2D" - ], - "", - 0.04806384010311443, - 0.08598373508999363, - [ - "IP(A)+IP(B)/r_p(A)^2", - "|IP(B)-EA(B)|/exp(r_p(A)^2)" - ] - ], - [ - [ - "AsIn", - "3D" - ], - "", - 0.05136670669846172, - 0.08268086849464634, - [ - "IP(A)+IP(B)/r_p(A)^2", - "IP(A)+IP(B)/(r_s(A)+r_p(A))^2", - "|IP(B)-EA(B)|/exp(r_p(A)^2)" - ] - ], - [ - [ - "OZn", - "1D" - ], - 0.10196817676842329, - 0.4124084648117012, - 0.3104402880432779, - [ - "IP(A)+IP(B)/(r_s(A)+r_p(A))^2" - ] - ], - [ - [ - "OZn", - "2D" - ], - "", - 0.3278648406021166, - 0.22589666383369333, - [ - "IP(A)+IP(B)/(r_s(A)+r_p(A))^2", - "|IP(B)-EA(B)|/exp(r_p(A)^2)" - ] - ], - [ - [ - "OZn", - "3D" - ], - "", - 0.3065339408162366, - 0.2045657640478133, - [ - "IP(A)+IP(B)/r_p(A)^2", - "IP(A)+IP(B)/(r_s(A)+r_p(A))^2", - "|IP(B)-EA(B)|/exp(r_p(A)^2)" - ] - ], - [ - [ - "CaSe", - "1D" - ], - -0.3607977344217943, - -0.15067269803457845, - 0.21012503638721586, - [ - "IP(A)+IP(B)/r_p(A)^2" - ] - ], - [ - [ - "CaSe", - "2D" - ], - "", - -0.17723492248956496, - 0.18356281193222934, - [ - "|IP(A)-EA(B)|/exp(r_p(A)+r_d(B))", - "|IP(B)-EA(B)|/exp(r_p(A)^2)" - ] - ], - [ - [ - "CaSe", - "3D" - ], - "", - -0.1719737401748319, - 0.1888239942469624, - [ - "IP(A)+IP(B)/r_p(A)^2", - "|IP(A)-EA(B)|/exp(r_p(A)+r_d(B))", - "|IP(B)-EA(B)|/exp(r_p(A)^2)" - ] - ], - [ - [ - "CdO", - "1D" - ], - -0.08416135802690405, - 0.22822732902837645, - 0.3123886870552805, - [ - "IP(A)+IP(B)/(r_s(A)+r_p(A))^2" - ] - ], - [ - [ - "CdO", - "2D" - ], - "", - 0.13705523742693448, - 0.22121659545383854, - [ - "IP(A)+IP(B)/(r_s(A)+r_p(A))^2", - "|IP(B)-EA(B)|/exp(r_p(A)^2)" - ] - ], - [ - [ - "CdO", - "3D" - ], - "", - 0.12299167548942505, - 0.2071530335163291, - [ - "IP(A)+IP(B)/r_p(A)^2", - "IP(A)+IP(B)/(r_s(A)+r_p(A))^2", - "|IP(B)-EA(B)|/exp(r_p(A)^2)" - ] - ], - [ - [ - "InP", - "1D" - ], - 0.17919328722928185, - 0.041049573484470026, - 0.13814371374481182, - [ - "IP(A)+IP(B)/r_p(A)^2" - ] - ], - [ - [ - "InP", - "2D" - ], - "", - 0.061067270369104754, - 0.1181260168601771, - [ - "IP(A)+IP(B)/r_p(A)^2", - "|IP(B)-EA(B)|/exp(r_p(A)^2)" - ] - ], - [ - [ - "InP", - "3D" - ], - "", - 0.06520828937751655, - 0.1139849978517653, - [ - "IP(A)+IP(B)/r_p(A)^2", - "IP(A)+IP(B)/(r_s(A)+r_p(A))^2", - "|IP(B)-EA(B)|/exp(r_p(A)^2)" - ] - ], - [ - [ - "Sn2", - "1D" - ], - 0.01696389919379726, - 0.10179315082005341, - 0.08482925162625615, - [ - "IP(A)+IP(B)/r_p(A)^2" - ] - ], - [ - [ - "Sn2", - "2D" - ], - "", - 0.12327915543299786, - 0.1063152562392006, - [ - "IP(A)+IP(B)/r_p(A)^2", - "|IP(B)-EA(B)|/exp(r_p(A)^2)" - ] - ], - [ - [ - "Sn2", - "3D" - ], - "", - 0.12594297403489163, - 0.10897907484109437, - [ - "IP(A)+IP(B)/r_p(A)^2", - "IP(A)+IP(B)/(r_s(A)+r_p(A))^2", - "|IP(B)-EA(B)|/exp(r_p(A)^2)" - ] - ], - [ - [ - "SSr", - "1D" - ], - -0.3684341299303924, - -0.17767313088932604, - 0.19076099904106633, - [ - "IP(A)+IP(B)/r_p(A)^2" - ] - ], - [ - [ - "SSr", - "2D" - ], - "", - -0.20283026496150935, - 0.16560386496888302, - [ - "|IP(A)-EA(B)|/exp(r_p(A)+r_d(B))", - "|IP(B)-EA(B)|/exp(r_p(A)^2)" - ] - ], - [ - [ - "SSr", - "3D" - ], - "", - -0.19896553943513637, - 0.169468590495256, - [ - "IP(A)+IP(B)/r_p(A)^2", - "|IP(A)-EA(B)|/exp(r_p(A)+r_d(B))", - "|IP(B)-EA(B)|/exp(r_p(A)^2)" - ] - ], - [ - [ - "InN", - "1D" - ], - 0.15372029269929044, - 0.1366936749698628, - 0.01702661772942765, - [ - "IP(A)+IP(B)/r_p(A)^2" - ] - ], - [ - [ - "InN", - "2D" - ], - "", - 0.18075790227903013, - 0.02703760957973969, - [ - "IP(A)+IP(B)/r_p(A)^2", - "|IP(B)-EA(B)|/exp(r_p(A)^2)" - ] - ], - [ - [ - "InN", - "3D" - ], - "", - 0.19194050018662817, - 0.03822020748733773, - [ - "IP(A)+IP(B)/r_p(A)^2", - "IP(A)+IP(B)/(r_s(A)+r_p(A))^2", - "|IP(B)-EA(B)|/exp(r_p(A)^2)" - ] - ], - [ - [ - "BaSe", - "1D" - ], - -0.3434451340872329, - -0.1983423831592127, - 0.14510275092802016, - [ - "IP(A)+IP(B)/r_p(A)^2" - ] - ], - [ - [ - "BaSe", - "2D" - ], - "", - -0.20526289554641663, - 0.13818223854081624, - [ - "|IP(A)-EA(B)|/exp(r_p(A)+r_d(B))", - "|IP(B)-EA(B)|/exp(r_p(A)^2)" - ] - ], - [ - [ - "BaSe", - "3D" - ], - "", - -0.20751041091407668, - 0.1359347231731562, - [ - "IP(A)+IP(B)/r_p(A)^2", - "|IP(A)-EA(B)|/exp(r_p(A)+r_d(B))", - "|IP(B)-EA(B)|/exp(r_p(A)^2)" - ] - ], - [ - [ - "BrK", - "1D" - ], - -0.16617596419382608, - -0.1741621582400534, - 0.00798619404622733, - [ - "IP(A)+IP(B)/r_p(A)^2" - ] - ], - [ - [ - "BrK", - "2D" - ], - "", - -0.2218496699205452, - 0.05567370572671912, - [ - "IP(A)+IP(B)/(r_s(A)+r_p(A))^2", - "|IP(B)-EA(B)|/exp(r_p(A)^2)" - ] - ], - [ - [ - "BrK", - "3D" - ], - "", - -0.2046012845233215, - 0.038425320329495416, - [ - "IP(A)+IP(B)/r_p(A)^2", - "IP(A)+IP(B)/(r_s(A)+r_p(A))^2", - "|IP(B)-EA(B)|/exp(r_p(A)^2)" - ] - ], - [ - [ - "AlAs", - "1D" - ], - 0.21326184910867596, - 0.09606994813852071, - 0.11719190097015525, - [ - "IP(A)+IP(B)/r_p(A)^2" - ] - ], - [ - [ - "AlAs", - "2D" - ], - "", - 0.13156608186429392, - 0.08169576724438204, - [ - "IP(A)+IP(B)/r_p(A)^2", - "|IP(B)-EA(B)|/exp(r_p(A)^2)" - ] - ], - [ - [ - "AlAs", - "3D" - ], - "", - 0.134445631074246, - 0.07881621803442995, - [ - "IP(A)+IP(B)/r_p(A)^2", - "IP(A)+IP(B)/(r_s(A)+r_p(A))^2", - "|IP(B)-EA(B)|/exp(r_p(A)^2)" - ] - ], - [ - [ - "BeTe", - "1D" - ], - 0.4685859104938572, - 0.39524076967088767, - 0.07334514082296956, - [ - "IP(A)+IP(B)/r_p(A)^2" - ] - ], - [ - [ - "BeTe", - "2D" - ], - "", - 0.3879374407603452, - 0.08064846973351203, - [ - "IP(A)+IP(B)/r_p(A)^2", - "|IP(B)-EA(B)|/exp(r_p(A)^2)" - ] - ], - [ - [ - "BeTe", - "3D" - ], - "", - 0.36791816159206725, - 0.10066774890178998, - [ - "IP(A)+IP(B)/r_p(A)^2", - "|IP(B)-EA(B)|/r_p(A)^2", - "|IP(B)-EA(B)|/exp(r_p(A)^2)" - ] - ], - [ - [ - "CdS", - "1D" - ], - 0.07267279591178522, - 0.05726910187551659, - 0.015403694036268623, - [ - "IP(A)+IP(B)/r_p(A)^2" - ] - ], - [ - [ - "CdS", - "2D" - ], - "", - 0.0046229286626815885, - 0.06804986724910363, - [ - "IP(A)+IP(B)/r_p(A)^2", - "|IP(B)-EA(B)|/exp(r_p(A)^2)" - ] - ], - [ - [ - "CdS", - "3D" - ], - "", - 0.019838439356418852, - 0.05283435655536636, - [ - "IP(A)+IP(B)/r_p(A)^2", - "IP(A)+IP(B)/(r_s(A)+r_p(A))^2", - "|IP(B)-EA(B)|/exp(r_p(A)^2)" - ] - ], - [ - [ - "CdTe", - "1D" - ], - 0.11453953219461255, - 0.021094348120976214, - 0.09344518407363633, - [ - "IP(A)+IP(B)/r_p(A)^2" - ] - ], - [ - [ - "CdTe", - "2D" - ], - "", - -0.0296646977594857, - 0.14420422995409826, - [ - "IP(A)+IP(B)/r_p(A)^2", - "|IP(B)-EA(B)|/exp(r_p(A)^2)" - ] - ], - [ - [ - "CdTe", - "3D" - ], - "", - -0.018484687395648347, - 0.1330242195902609, - [ - "IP(A)+IP(B)/r_p(A)^2", - "IP(A)+IP(B)/(r_s(A)+r_p(A))^2", - "|IP(B)-EA(B)|/exp(r_p(A)^2)" - ] - ], - [ - [ - "TeZn", - "1D" - ], - 0.24500129517400637, - 0.12587239118276383, - 0.11912890399124254, - [ - "IP(A)+IP(B)/r_p(A)^2" - ] - ], - [ - [ - "TeZn", - "2D" - ], - "", - 0.07569601440567396, - 0.1693052807683324, - [ - "IP(A)+IP(B)/r_p(A)^2", - "|IP(B)-EA(B)|/exp(r_p(A)^2)" - ] - ], - [ - [ - "TeZn", - "3D" - ], - "", - 0.0635873250314174, - 0.18141397014258898, - [ - "IP(A)+IP(B)/r_p(A)^2", - "|IP(B)-EA(B)|/r_p(A)^2", - "|IP(B)-EA(B)|/exp(r_p(A)^2)" - ] - ], - [ - [ - "GaP", - "1D" - ], - 0.3487517977519019, - 0.15117199932103093, - 0.19757979843087098, - [ - "IP(A)+IP(B)/r_p(A)^2" - ] - ], - [ - [ - "GaP", - "2D" - ], - "", - 0.2357322690597658, - 0.1130195286921361, - [ - "|IP(A)-EA(B)|/exp(r_p(A)+r_d(B))", - "|IP(B)-EA(B)|/exp(r_p(A)^2)" - ] - ], - [ - [ - "GaP", - "3D" - ], - "", - 0.20742887413456004, - 0.14132292361734186, - [ - "IP(A)+IP(B)/r_p(A)^2", - "|IP(A)-EA(B)|/exp(r_p(A)+r_d(B))", - "|IP(B)-EA(B)|/exp(r_p(A)^2)" - ] - ], - [ - [ - "CdSe", - "1D" - ], - 0.0835719490860356, - 0.041443711466448485, - 0.04212823761958712, - [ - "IP(A)+IP(B)/r_p(A)^2" - ] - ], - [ - [ - "CdSe", - "2D" - ], - "", - -0.010186540718523679, - 0.09375848980455928, - [ - "IP(A)+IP(B)/r_p(A)^2", - "|IP(B)-EA(B)|/exp(r_p(A)^2)" - ] - ], - [ - [ - "CdSe", - "3D" - ], - "", - 0.00323847848548639, - 0.08033347060054921, - [ - "IP(A)+IP(B)/r_p(A)^2", - "IP(A)+IP(B)/(r_s(A)+r_p(A))^2", - "|IP(B)-EA(B)|/exp(r_p(A)^2)" - ] - ], - [ - [ - "INa", - "1D" - ], - -0.11483822218724526, - -0.19941690349898578, - 0.08457868131174051, - [ - "IP(A)+IP(B)/r_p(A)^2" - ] - ], - [ - [ - "INa", - "2D" - ], - "", - -0.21728008650238503, - 0.10244186431513977, - [ - "IP(A)+IP(B)/(r_s(A)+r_p(A))^2", - "|IP(B)-EA(B)|/exp(r_p(A)^2)" - ] - ], - [ - [ - "INa", - "3D" - ], - "", - -0.2104381107448532, - 0.09559988855760793, - [ - "IP(A)+IP(B)/r_p(A)^2", - "IP(A)+IP(B)/(r_s(A)+r_p(A))^2", - "|IP(B)-EA(B)|/exp(r_p(A)^2)" - ] - ], - [ - [ - "AlP", - "1D" - ], - 0.2189583414756271, - 0.11014288630864832, - 0.10881545516697877, - [ - "IP(A)+IP(B)/r_p(A)^2" - ] - ], - [ - [ - "AlP", - "2D" - ], - "", - 0.1488586251055772, - 0.07009971637004989, - [ - "IP(A)+IP(B)/r_p(A)^2", - "|IP(B)-EA(B)|/exp(r_p(A)^2)" - ] - ], - [ - [ - "AlP", - "3D" - ], - "", - 0.15255399847549536, - 0.06640434300013173, - [ - "IP(A)+IP(B)/r_p(A)^2", - "IP(A)+IP(B)/(r_s(A)+r_p(A))^2", - "|IP(B)-EA(B)|/exp(r_p(A)^2)" - ] - ], - [ - [ - "AgCl", - "1D" - ], - -0.04279727820539847, - 0.011356247299312228, - 0.0541535255047107, - [ - "IP(A)+IP(B)/r_p(A)^2" - ] - ], - [ - [ - "AgCl", - "2D" - ], - "", - -0.042423122361295966, - 0.0003741558441025042, - [ - "IP(A)+IP(B)/r_p(A)^2", - "|IP(B)-EA(B)|/exp(r_p(A)^2)" - ] - ], - [ - [ - "AgCl", - "3D" - ], - "", - -0.030221994315818956, - 0.012575283889579514, - [ - "IP(A)+IP(B)/r_p(A)^2", - "IP(A)+IP(B)/(r_s(A)+r_p(A))^2", - "|IP(B)-EA(B)|/exp(r_p(A)^2)" - ] - ], - [ - [ - "AsGa", - "1D" - ], - 0.2742777724197367, - 0.13666290578270107, - 0.13761486663703565, - [ - "IP(A)+IP(B)/r_p(A)^2" - ] - ], - [ - [ - "AsGa", - "2D" - ], - "", - 0.17926678894705497, - 0.09501098347268175, - [ - "|IP(A)-EA(B)|/exp(r_p(A)+r_d(B))", - "|IP(B)-EA(B)|/exp(r_p(A)^2)" - ] - ], - [ - [ - "AsGa", - "3D" - ], - "", - 0.1635755821251086, - 0.11070219029462813, - [ - "IP(A)+IP(B)/r_p(A)^2", - "|IP(A)-EA(B)|/exp(r_p(A)+r_d(B))", - "|IP(B)-EA(B)|/exp(r_p(A)^2)" - ] - ], - [ - [ - "Ge2", - "1D" - ], - 0.2008525260607712, - 0.28995883150180435, - 0.08910630544103315, - [ - "IP(A)+IP(B)/r_p(A)^2" - ] - ], - [ - [ - "Ge2", - "2D" - ], - "", - 0.37536013702571897, - 0.17450761096494777, - [ - "IP(A)+IP(B)/(r_s(A)+r_p(A))^2", - "|IP(B)-EA(B)|/exp(r_p(A)^2)" - ] - ], - [ - [ - "Ge2", - "3D" - ], - "", - 0.35997386164705425, - 0.15912133558628305, - [ - "IP(A)+IP(B)/r_p(A)^2", - "IP(A)+IP(B)/(r_s(A)+r_p(A))^2", - "|IP(B)-EA(B)|/exp(r_p(A)^2)" - ] - ], - [ - [ - "SeSr", - "1D" - ], - -0.37451095173310023, - -0.18485072742076114, - 0.1896602243123391, - [ - "IP(A)+IP(B)/r_p(A)^2" - ] - ], - [ - [ - "SeSr", - "2D" - ], - "", - -0.19623237961281817, - 0.17827857212028206, - [ - "|IP(A)-EA(B)|/exp(r_p(A)+r_d(B))", - "|IP(B)-EA(B)|/exp(r_p(A)^2)" - ] - ], - [ - [ - "SeSr", - "3D" - ], - "", - -0.19667018226306135, - 0.17784076947003888, - [ - "IP(A)+IP(B)/r_p(A)^2", - "|IP(A)-EA(B)|/exp(r_p(A)+r_d(B))", - "|IP(B)-EA(B)|/exp(r_p(A)^2)" - ] - ], - [ - [ - "CSi", - "1D" - ], - 0.6690237272359809, - 0.4681948126204402, - 0.2008289146155407, - [ - "IP(A)+IP(B)/r_p(A)^2" - ] - ], - [ - [ - "CSi", - "2D" - ], - "", - 0.8427171356474439, - 0.17369340841146297, - [ - "|IP(A)-EA(B)|/exp(r_p(A)+r_d(B))", - "|IP(B)-EA(B)|/exp(r_p(A)^2)" - ] - ], - [ - [ - "CSi", - "3D" - ], - "", - 0.7380444589533226, - 0.06902073171734169, - [ - "IP(A)+IP(B)/r_p(A)^2", - "|IP(A)-EA(B)|/exp(r_p(A)+r_d(B))", - "|IP(B)-EA(B)|/exp(r_p(A)^2)" - ] - ], - [ - [ - "BeO", - "1D" - ], - 0.6918375772329455, - 0.6427054333176636, - 0.04913214391528187, - [ - "IP(A)+IP(B)/r_p(A)^2" - ] - ], - [ - [ - "BeO", - "2D" - ], - "", - 0.617297345621902, - 0.0745402316110435, - [ - "|IP(A)-EA(B)|/exp(r_p(A)+r_d(B))", - "|IP(B)-EA(B)|/exp(r_p(A)^2)" - ] - ], - [ - [ - "BeO", - "3D" - ], - "", - 0.6210479224583274, - 0.07078965477461807, - [ - "IP(A)+IP(B)/r_p(A)^2", - "|IP(A)-EA(B)|/exp(r_p(A)+r_d(B))", - "|IP(B)-EA(B)|/exp(r_p(A)^2)" - ] - ], - [ - [ - "AgI", - "1D" - ], - 0.036925419641193, - -0.031592654991172586, - 0.06851807463236559, - [ - "IP(A)+IP(B)/r_p(A)^2" - ] - ], - [ - [ - "AgI", - "2D" - ], - "", - -0.0773385079956827, - 0.1142639276368757, - [ - "IP(A)+IP(B)/r_p(A)^2", - "|IP(B)-EA(B)|/exp(r_p(A)^2)" - ] - ], - [ - [ - "AgI", - "3D" - ], - "", - -0.0702170142042487, - 0.1071424338454417, - [ - "IP(A)+IP(B)/r_p(A)^2", - "IP(A)+IP(B)/(r_s(A)+r_p(A))^2", - "|IP(B)-EA(B)|/exp(r_p(A)^2)" - ] - ], - [ - [ - "AsB", - "1D" - ], - 0.8749781837650517, - 1.0819129140500932, - 0.2069347302850415, - [ - "IP(A)+IP(B)/r_p(A)^2" - ] - ], - [ - [ - "AsB", - "2D" - ], - "", - 0.9500817039160756, - 0.07510352015102395, - [ - "|IP(A)-EA(B)|/exp(r_p(A)+r_d(B))", - "|IP(B)-EA(B)|/exp(r_p(A)^2)" - ] - ], - [ - [ - "AsB", - "3D" - ], - "", - 1.0070794493446935, - 0.13210126557964186, - [ - "IP(A)+IP(B)/r_p(A)^2", - "|IP(A)-EA(B)|/exp(r_p(A)+r_d(B))", - "|IP(B)-EA(B)|/exp(r_p(A)^2)" - ] - ], - [ - [ - "CaS", - "1D" - ], - -0.3691331945374259, - -0.14173766788107484, - 0.22739552665635104, - [ - "IP(A)+IP(B)/r_p(A)^2" - ] - ], - [ - [ - "CaS", - "2D" - ], - "", - -0.18579362872561792, - 0.18333956581180796, - [ - "|IP(A)-EA(B)|/exp(r_p(A)+r_d(B))", - "|IP(B)-EA(B)|/exp(r_p(A)^2)" - ] - ], - [ - [ - "CaS", - "3D" - ], - "", - -0.1749836668934191, - 0.19414952764400678, - [ - "IP(A)+IP(B)/r_p(A)^2", - "|IP(A)-EA(B)|/exp(r_p(A)+r_d(B))", - "|IP(B)-EA(B)|/exp(r_p(A)^2)" - ] - ], - [ - [ - "AgF", - "1D" - ], - -0.15375767317891587, - 0.2230027983477471, - 0.376760471526663, - [ - "EA(A)+IP(B)/r_p(A)^2" - ] - ], - [ - [ - "AgF", - "2D" - ], - "", - 0.19710646399219822, - 0.3508641371711141, - [ - "IP(A)+IP(B)/(r_s(A)+r_p(A))^2", - "EA(A)+IP(B)/r_p(A)^2" - ] - ], - [ - [ - "AgF", - "3D" - ], - "", - 0.18705953024593241, - 0.3408172034248483, - [ - "IP(A)+IP(B)/r_p(A)^2", - "IP(A)+IP(B)/(r_s(A)+r_p(A))^2", - "EA(A)+IP(B)/r_p(A)^2" - ] - ], - [ - [ - "GaSb", - "1D" - ], - 0.15462528509669937, - 0.11306356384882349, - 0.04156172124787588, - [ - "IP(A)+IP(B)/r_p(A)^2" - ] - ], - [ - [ - "GaSb", - "2D" - ], - "", - 0.1503146452845307, - 0.004310639812168671, - [ - "IP(A)+IP(B)/r_p(A)^2", - "|IP(B)-EA(B)|/exp(r_p(A)^2)" - ] - ], - [ - [ - "GaSb", - "3D" - ], - "", - 0.16124591242824862, - 0.00662062733154925, - [ - "IP(A)+IP(B)/r_p(A)^2", - "IP(A)+IP(B)/(r_s(A)+r_p(A))^2", - "|IP(B)-EA(B)|/exp(r_p(A)^2)" - ] - ], - [ - [ - "IK", - "1D" - ], - -0.1670391451625619, - -0.18730625230524015, - 0.020267107142678237, - [ - "IP(A)+IP(B)/r_p(A)^2" - ] - ], - [ - [ - "IK", - "2D" - ], - "", - -0.23018700892089367, - 0.06314786375833176, - [ - "IP(A)+IP(B)/(r_s(A)+r_p(A))^2", - "|IP(B)-EA(B)|/exp(r_p(A)^2)" - ] - ], - [ - [ - "IK", - "3D" - ], - "", - -0.21305959133077623, - 0.046020446168214324, - [ - "IP(A)+IP(B)/r_p(A)^2", - "IP(A)+IP(B)/(r_s(A)+r_p(A))^2", - "|IP(B)-EA(B)|/exp(r_p(A)^2)" - ] - ], - [ - [ - "BaS", - "1D" - ], - -0.3197624294261914, - -0.1919204696559943, - 0.12784195977019708, - [ - "IP(A)+IP(B)/r_p(A)^2" - ] - ], - [ - [ - "BaS", - "2D" - ], - "", - -0.21091986250734363, - 0.10884256691884775, - [ - "|IP(A)-EA(B)|/exp(r_p(A)+r_d(B))", - "|IP(B)-EA(B)|/exp(r_p(A)^2)" - ] - ], - [ - [ - "BaS", - "3D" - ], - "", - -0.2094078569571566, - 0.11035457246903477, - [ - "IP(A)+IP(B)/r_p(A)^2", - "|IP(A)-EA(B)|/exp(r_p(A)+r_d(B))", - "|IP(B)-EA(B)|/exp(r_p(A)^2)" - ] - ], - [ - [ - "CsI", - "1D" - ], - -0.16238747449824587, - -0.24989186842881037, - 0.0875043939305645, - [ - "IP(A)+IP(B)/r_p(A)^2" - ] - ], - [ - [ - "CsI", - "2D" - ], - "", - -0.2658583121230145, - 0.10347083762476861, - [ - "IP(A)+IP(B)/(r_s(A)+r_p(A))^2", - "|IP(B)-EA(B)|/exp(r_p(A)^2)" - ] - ], - [ - [ - "CsI", - "3D" - ], - "", - -0.25163592470867324, - 0.08924845021042738, - [ - "IP(A)+IP(B)/r_p(A)^2", - "IP(A)+IP(B)/(r_s(A)+r_p(A))^2", - "|IP(B)-EA(B)|/exp(r_p(A)^2)" - ] - ], - [ - [ - "ClCs", - "1D" - ], - -0.15034615744662005, - -0.2351496246503496, - 0.08480346720372955, - [ - "IP(A)+IP(B)/r_p(A)^2" - ] - ], - [ - [ - "ClCs", - "2D" - ], - "", - -0.2560321267031262, - 0.10568596925650614, - [ - "IP(A)+IP(B)/(r_s(A)+r_p(A))^2", - "|IP(B)-EA(B)|/exp(r_p(A)^2)" - ] - ], - [ - [ - "ClCs", - "3D" - ], - "", - -0.24223189465748912, - 0.09188573721086907, - [ - "IP(A)+IP(B)/r_p(A)^2", - "IP(A)+IP(B)/(r_s(A)+r_p(A))^2", - "|IP(B)-EA(B)|/exp(r_p(A)^2)" - ] - ], - [ - [ - "CaO", - "1D" - ], - -0.265219041319142, - -0.09534856220780538, - 0.1698704791113366, - [ - "IP(A)+IP(B)/r_p(A)^2" - ] - ], - [ - [ - "CaO", - "2D" - ], - "", - -0.13504662033542134, - 0.13017242098372064, - [ - "IP(A)+IP(B)/r_p(A)^2", - "|IP(B)-EA(B)|/exp(r_p(A)^2)" - ] - ], - [ - [ - "CaO", - "3D" - ], - "", - -0.1267668875579166, - 0.13845215376122538, - [ - "IP(A)+IP(B)/r_p(A)^2", - "|IP(B)-EA(B)|/r_p(A)^2", - "|IP(B)-EA(B)|/exp(r_p(A)^2)" - ] - ], - [ - [ - "ClCu", - "1D" - ], - 0.15625871319207363, - 0.10304959748146114, - 0.05320911571061249, - [ - "IP(A)+IP(B)/r_p(A)^2" - ] - ], - [ - [ - "ClCu", - "2D" - ], - "", - 0.054512365932980936, - 0.10174634725909269, - [ - "IP(A)+IP(B)/r_p(A)^2", - "|IP(B)-EA(B)|/exp(r_p(A)^2)" - ] - ], - [ - [ - "ClCu", - "3D" - ], - "", - 0.07178533711772403, - 0.0844733760743496, - [ - "IP(A)+IP(B)/r_p(A)^2", - "IP(A)+IP(B)/(r_s(A)+r_p(A))^2", - "|IP(B)-EA(B)|/exp(r_p(A)^2)" - ] - ], - [ - [ - "CSn", - "1D" - ], - 0.4535379741428187, - 0.21481425633700174, - 0.23872371780581697, - [ - "IP(A)+IP(B)/r_p(A)^2" - ] - ], - [ - [ - "CSn", - "2D" - ], - "", - 0.28708539468834504, - 0.16645257945447367, - [ - "IP(A)+IP(B)/r_p(A)^2", - "|IP(B)-EA(B)|/exp(r_p(A)^2)" - ] - ], - [ - [ - "CSn", - "3D" - ], - "", - 0.29474920851553277, - 0.15878876562728594, - [ - "IP(A)+IP(B)/r_p(A)^2", - "IP(A)+IP(B)/(r_s(A)+r_p(A))^2", - "|IP(B)-EA(B)|/exp(r_p(A)^2)" - ] - ], - [ - [ - "BeS", - "1D" - ], - 0.5063276745431722, - 0.4684958815734177, - 0.037831792969754474, - [ - "IP(A)+IP(B)/r_p(A)^2" - ] - ], - [ - [ - "BeS", - "2D" - ], - "", - 0.49439105445586823, - 0.01193662008730395, - [ - "IP(A)+IP(B)/r_p(A)^2", - "|IP(B)-EA(B)|/exp(r_p(A)^2)" - ] - ], - [ - [ - "BeS", - "3D" - ], - "", - 0.4933274966263095, - 0.013000177916862699, - [ - "IP(A)+IP(B)/r_p(A)^2", - "IP(A)+IP(B)/(r_s(A)+r_p(A))^2", - "|IP(B)-EA(B)|/exp(r_p(A)^2)" - ] - ], - [ - [ - "IRb", - "1D" - ], - -0.1672014421201311, - -0.2503767803476745, - 0.08317533822754342, - [ - "IP(A)+IP(B)/r_p(A)^2" - ] - ], - [ - [ - "IRb", - "2D" - ], - "", - -0.26058299297666326, - 0.09338155085653216, - [ - "IP(A)+IP(B)/(r_s(A)+r_p(A))^2", - "|IP(B)-EA(B)|/exp(r_p(A)^2)" - ] - ], - [ - [ - "IRb", - "3D" - ], - "", - -0.2485671319235548, - 0.08136568980342371, - [ - "IP(A)+IP(B)/r_p(A)^2", - "IP(A)+IP(B)/(r_s(A)+r_p(A))^2", - "|IP(B)-EA(B)|/exp(r_p(A)^2)" - ] - ], - [ - [ - "AlSb", - "1D" - ], - 0.15686873396043666, - 0.07379500180615228, - 0.08307373215428437, - [ - "IP(A)+IP(B)/r_p(A)^2" - ] - ], - [ - [ - "AlSb", - "2D" - ], - "", - 0.10094469448013288, - 0.05592403948030378, - [ - "IP(A)+IP(B)/r_p(A)^2", - "|IP(B)-EA(B)|/exp(r_p(A)^2)" - ] - ], - [ - [ - "AlSb", - "3D" - ], - "", - 0.10264429581519405, - 0.05422443814524261, - [ - "IP(A)+IP(B)/r_p(A)^2", - "IP(A)+IP(B)/(r_s(A)+r_p(A))^2", - "|IP(B)-EA(B)|/exp(r_p(A)^2)" - ] - ], - [ - [ - "SrTe", - "1D" - ], - -0.3792947258625645, - -0.19402871615728995, - 0.18526600970527457, - [ - "IP(A)+IP(B)/r_p(A)^2" - ] - ], - [ - [ - "SrTe", - "2D" - ], - "", - -0.18073687707204747, - 0.19855784879051705, - [ - "|IP(A)-EA(B)|/exp(r_p(A)+r_d(B))", - "|IP(B)-EA(B)|/exp(r_p(A)^2)" - ] - ], - [ - [ - "SrTe", - "3D" - ], - "", - -0.18849680260556512, - 0.1907979232569994, - [ - "IP(A)+IP(B)/r_p(A)^2", - "|IP(A)-EA(B)|/exp(r_p(A)+r_d(B))", - "|IP(B)-EA(B)|/exp(r_p(A)^2)" - ] - ] - ], - "hasIndex": "true", - "type": "TableDisplay", - "types": [ - "string", - "double", - "double", - "double", - "string" - ] - } - }, - "selectedType": "Results", - "pluginName": "IPython", - "shellId": "C52E2607E20544C788411157B4CD5289", - "elapsedTime": 411, - "height": 1287 - }, - "evaluatorReader": true, - "lineCount": 16 - }, - { - "id": "codeh5MrRD", - "type": "code", - "evaluator": "HTML", - "input": { - "body": [ - "<font size=\"+2\" face=\"Impact\">6. Classification</font> <br> <br>", - "<form action=\"/html/tags/html_form_tag_action.cfm\" method=\"post\">", - "<textarea name=\"comments\" id=\"comments\" style=\"width:96%;padding:1%;height:160px;font:18px/26px cursive;border:17px double green;\">", - "SIS+L0 for classification.", - "</textarea><br>", - "</form>" - ], - "hidden": true - }, - "output": { - "state": {}, - "result": { - "type": "BeakerDisplay", - "innertype": "Html", - "object": "<script>\nvar beaker = bkHelper.getBeakerObject().beakerObj;\n</script>\n<font size=\"+2\" face=\"Impact\">6. Classification</font> <br> <br>\n<form action=\"/html/tags/html_form_tag_action.cfm\" method=\"post\">\n<textarea name=\"comments\" id=\"comments\" style=\"width:96%;padding:1%;height:160px;font:18px/26px cursive;border:17px double green;\">SIS+L0 for classification.\n</textarea><br>\n</form>" - }, - "selectedType": "BeakerDisplay", - "height": 249, - "elapsedTime": 0 - }, - "evaluatorReader": true, - "lineCount": 6 - }, - { - "id": "codeAf6NYD", - "type": "code", - "evaluator": "JavaScript", - "input": { - "body": [ - "var functions_list = [\"get_descriptors\"];", - "var n_functions = functions_list.length", - "var i;", - "for (i = 0; i < n_functions; i++) {", - " beaker.evaluate(functions_list[i]);", - " beaker.print('import '+functions_list[i]);", - "}" - ], - "hidden": true - }, - "output": { - "state": {}, - "result": { - "type": "Results", - "outputdata": [ - { - "type": "out", - "value": "import get_descriptors\n" - } - ] - }, - "selectedType": "Results", - "pluginName": "JavaScript", - "elapsedTime": 432, - "height": 56 - }, - "evaluatorReader": true, - "lineCount": 7 - }, - { - "id": "codeKdr1AP", - "type": "code", - "evaluator": "IPython", - "input": { - "body": [ - "json_list_RS = [ ", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PudDm0on_-EHhn0SHX20l2vdbSQ1x.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RWApItBGtGUDsfMVlHKqrjUQ4rShT/Pp4wUDDucIEdS9euDT89Y6xQA_JPq.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RWApItBGtGUDsfMVlHKqrjUQ4rShT/Pd5Tx2nPg7dFY-jys9XwKne6OQtKX.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PyukHM_doowQLr1Ipwa8feMxPVmI2.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PHiW0XWZCN8j4FL20b8tZzv7Vz59s.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PnhDURE4i9Q5yUaSUbEmarpPFd-oP.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RWApItBGtGUDsfMVlHKqrjUQ4rShT/Phw2RDlr8RJrjY8nb2PfCE6Bf--N0.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PxJnNtspUIcqGhneVuSJKposdVxH_.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RWApItBGtGUDsfMVlHKqrjUQ4rShT/Pl7aTuAjyxpsJM7vLAOVHYwJm-QE6.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PvkvzEExTn8uE2HYyp39OAr0XeTVs.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RWApItBGtGUDsfMVlHKqrjUQ4rShT/P5q6OPnbkCI9OZnxRMmigkwjECTEe.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RWApItBGtGUDsfMVlHKqrjUQ4rShT/Pq_S1pMWXyVEwLQtS_CRQLruINQc7.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PN0Q_OXA7e5yO6EkDKkOpGHM6hyCj.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RWApItBGtGUDsfMVlHKqrjUQ4rShT/P49a5P12dU5LYRyFCHIIWWy_T06lE.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RWApItBGtGUDsfMVlHKqrjUQ4rShT/Ph7OdXYR4ndMpTcR0zX4mqRoBZpP9.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PAlWHa4oJtvotPEJZkbrlNC_sn0h2.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RWApItBGtGUDsfMVlHKqrjUQ4rShT/P-R6dmrIaT8iFyy2ObACxIHGWnNOy.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PKhAdygZBTTTF8uvQjKv1RdaX-cR-.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PKu0vasdF5E6n3C3QydIjCtGOIla4.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PZpgpSkSltbUhJUCSbPqBKkIvQi8v.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PctpEiY3VdEmVYwH7UjqZpiDWZtpM.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PItWNNwGWlKJ12UjZAOfNetX3xlkd.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PrTcNbJ50u8bqAFWGjPJKqnuuEvY7.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PfFPGDGw6-cK5ARIXtsKl496E6A0G.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PeXgyF2iElVtNWSX9xZhroKK8nJJ4.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RWApItBGtGUDsfMVlHKqrjUQ4rShT/P7kHL_6prXXdx5_MzMVmwsmStNoc0.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PaMvDXJtsbfDgbdvrFdiFSKpXNYyC.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RWApItBGtGUDsfMVlHKqrjUQ4rShT/P9sheCSX6Gol5L-IsCvDlnmT_MEGG.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PSy2hA53Gi7wXfU9SCowqkmFWD2gp.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RWApItBGtGUDsfMVlHKqrjUQ4rShT/P51AKUeSNYXrRBK_-uc8y1-bCfUNg.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PaqU_UGMSvVN6niB3zqMYchjsLHRX.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PcyDh6nCotXyohIHh5k1dx5L5D5X9.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PudM2fYFckG7O5R4BJqg04tK_l1bd.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RWApItBGtGUDsfMVlHKqrjUQ4rShT/P9Yuhn2S6hqpJ0cf9E9uw5G5bJlzV.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PqmzGiDuYJ-Q8j-KfLDlQBvWb2Gjt.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PCeh79N53GyBSPmZQQJ97G0eAHaDT.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PfgDGZGQLelhbTh9ZtsKqWGFxvhJ9.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PB0yzgD_PWA0LKTKGJ8ZZuD33YEUG.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PAy8gmVjhXEQxzCJ8LOWZakyvudO8.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PxHkLq1KNzXy50hbEPelPan0cCrsH.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PWkXOKoiw0iAE585QkElUZNCYOqYI.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PgemHvDiNrY7gsuhCx0VTL8kPb7AM.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PlIiyctCzbm5lbDOxpwEi3GbORHRD.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PGRvHpDj8bRbzvIL0c9yfOmeZjfah.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PHG50HtPjrXvkxeCITsjzFtq9N4hK.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PZuBrsUzsdX__rAeKn_JQgfX-YGoo.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PshguFKUbvULqOUN80QC-M3xQvrmJ.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PXoBZDFv4BhXvWTO29YBcGBXXu1vS.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PsmYUa8-6qr40jG7XJhUIynL1Ue8b.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RWApItBGtGUDsfMVlHKqrjUQ4rShT/P-M1B6jU_t-kPPKkoFU9kZkEbx332.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RWApItBGtGUDsfMVlHKqrjUQ4rShT/Pq1Tvh6kPeJ-PO77jXvOsp92PMK4P.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PfA960McVCueQzY_t-TVT0wgbZCC5.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RWApItBGtGUDsfMVlHKqrjUQ4rShT/P-eZyP4BB8uo0pdmQIIrat2mhXQBN.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PmenrFglDQWoTWLNvVVobyI3dmkIe.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PoEQrdbxDvcCldS5_cpSOcAS57svB.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PQUYoBu1tULTvysw2jz8XwBnIeewS.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PYOw5h3ttt0tMyUPOvqDPc6yArPTy.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RWApItBGtGUDsfMVlHKqrjUQ4rShT/Pzl8jOEFAC45VXxnxMJ7_nf2xS6v2.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PmkSmszyXIzY3yIzTUnkvOCwqNFFg.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RWApItBGtGUDsfMVlHKqrjUQ4rShT/P7JW4GQVa_xQ4YKM88F9LFzyVoXke.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PsL8fyWYvrq6V0pE3zTfoNsWAVUd1.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PbVMALFnpGdoEyabKhI_3DtbUX6W7.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PME2sPwrfVW7U0veuObWai6ryPqou.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PSzD2TkeF0Gg9fnlc1cNvyK7NL24E.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PQB49fu8BN3kua7uLKQLlT5dWdHi0.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PzkPWSKWCQ14F1io7eGkOhK7h0O_Q.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RWApItBGtGUDsfMVlHKqrjUQ4rShT/P_18Q5thpEagvBD-4tUdeTopJwCTV.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PKmJzuNjx3TVhnGoqyqoWSnwEgjGm.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RWApItBGtGUDsfMVlHKqrjUQ4rShT/P7oSkZrV7zs3KG6S8IZyTSE_FmwBQ.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PIwvZmuUIIrtn2HcPLoozMo73I4uz.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RWApItBGtGUDsfMVlHKqrjUQ4rShT/P-70iigSqFlM9BO7d8xReToc2yoJL.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PS3i4SxrlnWE9AUgOmy00D3f5dMgE.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PKSpxMXqdSstTt6Es26kroYBYENnq.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RWApItBGtGUDsfMVlHKqrjUQ4rShT/P_DFu-YobOdcOb1mfdI22vrtaSQAh.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PZQkSWOat-bIQV5IVle0tBtpUg_u-.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RWApItBGtGUDsfMVlHKqrjUQ4rShT/Po4TFqVuLhanZRORPTA7dDA2sdbrg.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PvVLlR_Pq2Ibks3hWK2HOSJ1GgVRY.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PmmsPJ6ouZjFnoIdGfis_3AHs9clP.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PQESlzgesuFywpq09x-vZ0gikcjPf.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PKfJHS4WQGppgde2dACUjMuVoL2sB.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PcEzW227FYLGI2t3jk-gLCgcEZWZe.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RWApItBGtGUDsfMVlHKqrjUQ4rShT/P36pL30yblwhze_vHZYZ_cybqeH4V.json'", + "Pred_errors = np.abs(P-P_predict).flatten('F')", + "Ref_values = [r for p in P for r in [p,p,p] ]", + "Mats = [m for mat in compounds_list for m in [mat, mat, mat] ]", + "Dims = ['1D','2D','3D']*compounds", + "", + "df = pd.DataFrame(zip(Ref_values,Pred,Pred_errors,feat), index = [Mats,Dims], columns=['P_ref[eV]','P_pred[eV]','abs. error [eV]','Selected features'])", + "", + "#display df", + "df" + ] + }, + "output": { + "state": {}, + "selectedType": "Results", + "pluginName": "IPython", + "shellId": "4B35956E29D047B389A3AA6E8297BBBD", + "height": 0 + }, + "evaluatorReader": true, + "lineCount": 22 + }, + { + "id": "sectionfRKpnp", + "type": "section", + "title": "The SISSO for classification", + "level": 1, + "evaluatorReader": false, + "collapsed": true + }, + { + "id": "markdownaMBdRz", + "type": "markdown", + "body": [ + "<summary>", + "<li>Run the SISSO code for classification.</li>", + "<li>Visualize the descriptor in an interactive 2D structure map.</li>", + "</summary>" + ], + "evaluatorReader": false + }, + { + "id": "codeAf6NYD", + "type": "code", + "evaluator": "JavaScript", + "input": { + "body": [ + "// 'Import' relevant functions from chapters before", + "var functions_list = [\"get_descriptors\"];", + "var n_functions = functions_list.length", + "var i;", + "for (i = 0; i < n_functions; i++) {", + " beaker.evaluate(functions_list[i]);", + " beaker.print('import '+functions_list[i]);", + "}" + ] + }, + "output": { + "state": {}, + "selectedType": "Results", + "pluginName": "JavaScript", + "height": 0 + }, + "evaluatorReader": true, + "lineCount": 8 + }, + { + "id": "markdownsqBNI0", + "type": "markdown", + "body": [ + "We will now solve a classification task using the SISSO. The target is to determine which of the five structures RS, ZB, CsCl, NiAs or CrB is the the lowest energy structure for a given compound. We, again, declare the relevant paths to the json files, acces them via the class 'NOMADStructure' and write a function 'get_data_for_classification', which creates the data needed for the compressed sensing afterwards. ", + "This time the paths to the json files are ordered by their crystal structure, i.e. there is for each of the five structures a separate list of paths. We will save these lists in the dictionary 'json_dict'.:" + ], + "evaluatorReader": false + }, + { + "id": "codeKdr1AP", + "type": "code", + "evaluator": "IPython", + "input": { + "body": [ + "json_list_RS = [ ", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PudDm0on_-EHhn0SHX20l2vdbSQ1x.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RWApItBGtGUDsfMVlHKqrjUQ4rShT/Pp4wUDDucIEdS9euDT89Y6xQA_JPq.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RWApItBGtGUDsfMVlHKqrjUQ4rShT/Pd5Tx2nPg7dFY-jys9XwKne6OQtKX.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PyukHM_doowQLr1Ipwa8feMxPVmI2.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PHiW0XWZCN8j4FL20b8tZzv7Vz59s.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PnhDURE4i9Q5yUaSUbEmarpPFd-oP.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RWApItBGtGUDsfMVlHKqrjUQ4rShT/Phw2RDlr8RJrjY8nb2PfCE6Bf--N0.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PxJnNtspUIcqGhneVuSJKposdVxH_.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RWApItBGtGUDsfMVlHKqrjUQ4rShT/Pl7aTuAjyxpsJM7vLAOVHYwJm-QE6.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PvkvzEExTn8uE2HYyp39OAr0XeTVs.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RWApItBGtGUDsfMVlHKqrjUQ4rShT/P5q6OPnbkCI9OZnxRMmigkwjECTEe.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RWApItBGtGUDsfMVlHKqrjUQ4rShT/Pq_S1pMWXyVEwLQtS_CRQLruINQc7.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PN0Q_OXA7e5yO6EkDKkOpGHM6hyCj.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RWApItBGtGUDsfMVlHKqrjUQ4rShT/P49a5P12dU5LYRyFCHIIWWy_T06lE.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RWApItBGtGUDsfMVlHKqrjUQ4rShT/Ph7OdXYR4ndMpTcR0zX4mqRoBZpP9.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PAlWHa4oJtvotPEJZkbrlNC_sn0h2.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RWApItBGtGUDsfMVlHKqrjUQ4rShT/P-R6dmrIaT8iFyy2ObACxIHGWnNOy.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PKhAdygZBTTTF8uvQjKv1RdaX-cR-.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PKu0vasdF5E6n3C3QydIjCtGOIla4.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PZpgpSkSltbUhJUCSbPqBKkIvQi8v.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PctpEiY3VdEmVYwH7UjqZpiDWZtpM.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PItWNNwGWlKJ12UjZAOfNetX3xlkd.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PrTcNbJ50u8bqAFWGjPJKqnuuEvY7.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PfFPGDGw6-cK5ARIXtsKl496E6A0G.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PeXgyF2iElVtNWSX9xZhroKK8nJJ4.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RWApItBGtGUDsfMVlHKqrjUQ4rShT/P7kHL_6prXXdx5_MzMVmwsmStNoc0.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PaMvDXJtsbfDgbdvrFdiFSKpXNYyC.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RWApItBGtGUDsfMVlHKqrjUQ4rShT/P9sheCSX6Gol5L-IsCvDlnmT_MEGG.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PSy2hA53Gi7wXfU9SCowqkmFWD2gp.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RWApItBGtGUDsfMVlHKqrjUQ4rShT/P51AKUeSNYXrRBK_-uc8y1-bCfUNg.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PaqU_UGMSvVN6niB3zqMYchjsLHRX.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PcyDh6nCotXyohIHh5k1dx5L5D5X9.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PudM2fYFckG7O5R4BJqg04tK_l1bd.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RWApItBGtGUDsfMVlHKqrjUQ4rShT/P9Yuhn2S6hqpJ0cf9E9uw5G5bJlzV.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PqmzGiDuYJ-Q8j-KfLDlQBvWb2Gjt.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PCeh79N53GyBSPmZQQJ97G0eAHaDT.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PfgDGZGQLelhbTh9ZtsKqWGFxvhJ9.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PB0yzgD_PWA0LKTKGJ8ZZuD33YEUG.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PAy8gmVjhXEQxzCJ8LOWZakyvudO8.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PxHkLq1KNzXy50hbEPelPan0cCrsH.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PWkXOKoiw0iAE585QkElUZNCYOqYI.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PgemHvDiNrY7gsuhCx0VTL8kPb7AM.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PlIiyctCzbm5lbDOxpwEi3GbORHRD.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PGRvHpDj8bRbzvIL0c9yfOmeZjfah.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PHG50HtPjrXvkxeCITsjzFtq9N4hK.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PZuBrsUzsdX__rAeKn_JQgfX-YGoo.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PshguFKUbvULqOUN80QC-M3xQvrmJ.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PXoBZDFv4BhXvWTO29YBcGBXXu1vS.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PsmYUa8-6qr40jG7XJhUIynL1Ue8b.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RWApItBGtGUDsfMVlHKqrjUQ4rShT/P-M1B6jU_t-kPPKkoFU9kZkEbx332.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RWApItBGtGUDsfMVlHKqrjUQ4rShT/Pq1Tvh6kPeJ-PO77jXvOsp92PMK4P.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PfA960McVCueQzY_t-TVT0wgbZCC5.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RWApItBGtGUDsfMVlHKqrjUQ4rShT/P-eZyP4BB8uo0pdmQIIrat2mhXQBN.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PmenrFglDQWoTWLNvVVobyI3dmkIe.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PoEQrdbxDvcCldS5_cpSOcAS57svB.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PQUYoBu1tULTvysw2jz8XwBnIeewS.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PYOw5h3ttt0tMyUPOvqDPc6yArPTy.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RWApItBGtGUDsfMVlHKqrjUQ4rShT/Pzl8jOEFAC45VXxnxMJ7_nf2xS6v2.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PmkSmszyXIzY3yIzTUnkvOCwqNFFg.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RWApItBGtGUDsfMVlHKqrjUQ4rShT/P7JW4GQVa_xQ4YKM88F9LFzyVoXke.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PsL8fyWYvrq6V0pE3zTfoNsWAVUd1.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PbVMALFnpGdoEyabKhI_3DtbUX6W7.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PME2sPwrfVW7U0veuObWai6ryPqou.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PSzD2TkeF0Gg9fnlc1cNvyK7NL24E.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PQB49fu8BN3kua7uLKQLlT5dWdHi0.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PzkPWSKWCQ14F1io7eGkOhK7h0O_Q.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RWApItBGtGUDsfMVlHKqrjUQ4rShT/P_18Q5thpEagvBD-4tUdeTopJwCTV.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PKmJzuNjx3TVhnGoqyqoWSnwEgjGm.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RWApItBGtGUDsfMVlHKqrjUQ4rShT/P7oSkZrV7zs3KG6S8IZyTSE_FmwBQ.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PIwvZmuUIIrtn2HcPLoozMo73I4uz.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RWApItBGtGUDsfMVlHKqrjUQ4rShT/P-70iigSqFlM9BO7d8xReToc2yoJL.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PS3i4SxrlnWE9AUgOmy00D3f5dMgE.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PKSpxMXqdSstTt6Es26kroYBYENnq.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RWApItBGtGUDsfMVlHKqrjUQ4rShT/P_DFu-YobOdcOb1mfdI22vrtaSQAh.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PZQkSWOat-bIQV5IVle0tBtpUg_u-.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RWApItBGtGUDsfMVlHKqrjUQ4rShT/Po4TFqVuLhanZRORPTA7dDA2sdbrg.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PvVLlR_Pq2Ibks3hWK2HOSJ1GgVRY.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PmmsPJ6ouZjFnoIdGfis_3AHs9clP.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PQESlzgesuFywpq09x-vZ0gikcjPf.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PKfJHS4WQGppgde2dACUjMuVoL2sB.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PcEzW227FYLGI2t3jk-gLCgcEZWZe.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RWApItBGtGUDsfMVlHKqrjUQ4rShT/P36pL30yblwhze_vHZYZ_cybqeH4V.json'", "]", "", "json_list_ZB = [", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PjGykEyzLOFynTPTNDcycF0GYg1PE.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PRzzJL7OHYeejsIvgfG1ph6BAeS_q.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PNavIaZhgwAeZM0-QhWHe_38iUgEF.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PpxTrTc6NkExiq1nzQkhd3cJ1-yRY.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PVYIDqiD6OslrGDcpUvuqvc0bD8Jr.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PiZTl1-v3bdCUDjxt-w2VxKMGW3-6.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PomJQS9nQ4WsUIr718n6H4YbM0Fi7.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PEC0GOHh7MviqeJkG1qukjk4bALIS.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PNXyczNslCGZT642R9ZFYGvidFvua.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PpyJZtNPyNqX3ofwfNMpvJU_9PEKI.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PA3s37bS9VLUzI5wYL_ntZ6RIM6IJ.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PvEU0OOwFN7eFqiwt9m9S_SmhCJUm.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PsJUIeSLEotoIZk6R54H-G2JWPnQG.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PUT_umVDXGUamLH1R7nkazwKz95dz.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RWApItBGtGUDsfMVlHKqrjUQ4rShT/P_rlThO8Jv0C2YIgYKLbCTM1rvfW-.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PyizrsR40QyxopYKKk2jUtl7nElXJ.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PQhb3_h4Bo9e5xjhhTUBY_8uOEtTM.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RWApItBGtGUDsfMVlHKqrjUQ4rShT/P0tj3NYHfrit7NB0ewfG-fIjRWuJD.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PlrW3wNN03bq-G8TLkXHpALwSTUUg.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RWApItBGtGUDsfMVlHKqrjUQ4rShT/P3hSpXydSB6z3p79OEIOQK6llto1K.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RWApItBGtGUDsfMVlHKqrjUQ4rShT/Pa7ltCNBQsk7Owlu0bJnsE8iY-Rmw.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PYeYlDJb7j4qJ9ol38GSM_eYJsiSe.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PX39jEfgLeDPddrkPuTvUfVv4_thl.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PWNXU92VwL7KkuoxItglRiuifcOnk.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PoWlbXJuGJ4-22DclM15L_g44LN3P.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PEYkIqgUpWfoq4Tcsy8_bFVUs9mko.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RWApItBGtGUDsfMVlHKqrjUQ4rShT/Pst86UVhV07OfKDhwlp0PNxiMtXki.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PVc9Pn-w-6MEpu41jV4p_keLeM-Yy.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RWApItBGtGUDsfMVlHKqrjUQ4rShT/P81vIYtJtOEx4n865B86z-KvUb6hA.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RWApItBGtGUDsfMVlHKqrjUQ4rShT/P8BMwwn-g_0Xezs6oK3ay6ZRXIRR-.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RWApItBGtGUDsfMVlHKqrjUQ4rShT/P8nQ1bSGP4pyRMOa4i5Uhjpb1Mord.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PCmzvvjhPSzkp_bhkAuDWK375Fs9g.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PhaEAJ72mzGm65KpjGcnVVlFax_l7.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PvXy3VrpadhZLQAwphJE6GVB_0OUp.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RWApItBGtGUDsfMVlHKqrjUQ4rShT/P3486jK16L4wlXG0B4v1-csMQ6oJ3.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RWApItBGtGUDsfMVlHKqrjUQ4rShT/POL8lsjGueHjkLb9hMpptti6c8Phg.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PULp85M-UCJ52e4UaGcyeLDmUeq2Z.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RWApItBGtGUDsfMVlHKqrjUQ4rShT/Pr6E85ezTMa4WX-GTFoms6w0Rb0hT.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RWApItBGtGUDsfMVlHKqrjUQ4rShT/P0e8gRRxOvcJquPDa7SeYFk2OCiFS.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RWApItBGtGUDsfMVlHKqrjUQ4rShT/Px8VpfH0LzX99ht06ME-0EsmmrSqe.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PM3KjHYJjTA26va4uYXD8homH7pUm.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RWApItBGtGUDsfMVlHKqrjUQ4rShT/P6GMfPCT_Fa40hXkVKpqnygEBt4PG.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RWApItBGtGUDsfMVlHKqrjUQ4rShT/Pu9uI6ldU3ZVgwfmy-Um0D7IBxTCK.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PN0ekL4w0k3A5OXacRBScDJ9KlGMf.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RWApItBGtGUDsfMVlHKqrjUQ4rShT/P39GmzBY478BzuXrZM-0i2Z-njyb9.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PEhAEeu8aSPA_d3_dHCjTlAi1y09j.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PVshjrYqjAg_8QtgfGW2ABnR-mlIP.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PDjDFM8OWbY0TtHCY-DBYRJmRQ8fO.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PxkyksXrwYuxnJ_wD7qN890rycd67.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PUDiBRLe2pg5Hjvd3kc_20wMbinMI.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PpikjM2BVj1atNlsbkcJzK9TkUIox.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PcYC-NeMnx_goUeYg8PmaNVo0chDc.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PQFhJGR6USZg0MrTttQvXm1IiHIdq.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PGvuYKpzVCcWnf33I4uy8fGyJVxXq.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PV--hzM8rvSS8a6LZBuuW6IPbqvY6.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PHQ9WIyu3N7whYM_ykFZunv5to3l2.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RWApItBGtGUDsfMVlHKqrjUQ4rShT/P2_H4gO4T7T7jknE474jzrc1Y4Tjm.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PFs1SxWG79Zqj0jssdOIqUicZk9aH.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PiOIHShEKCjdganj-Sd0MkJaLglGr.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RWApItBGtGUDsfMVlHKqrjUQ4rShT/Pn-jKNaG1IM7sKsxBh-ekfl3M3hIa.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RWApItBGtGUDsfMVlHKqrjUQ4rShT/P_80H6vlBefw1U3rKFDPPtpJAX1GH.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PdHoVKHCES7XtBpTVk0eihbo0kqmR.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PAzsSjYMU1-CdGulNpG_KzgFlfRrK.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PVlh5JoGn6jHWlE96SKt6eRMYTIVK.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PHfNgOoPEHjzs9iOh900vIUv-GVJl.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PVTUPQyCTvrAWV0DEN_xnPgrBPmM2.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RWApItBGtGUDsfMVlHKqrjUQ4rShT/Pws96oc5f7jIltD9Vvqc3svzL4mcW.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PLJBz0uY-AywnUhGMCXMounM-_Af3.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RWApItBGtGUDsfMVlHKqrjUQ4rShT/Pkole11VWAOiu91qHeq6lOzIM2Y1Y.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RWApItBGtGUDsfMVlHKqrjUQ4rShT/P2R4Ds9DFm8USF_AgHtQnWK1TkQiR.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PxrF4NRKjX9jsmVIocs7uQuLwD_cS.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PMxYGoRCMDXQWrNytWJHc-vUgRKTT.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PK3-3e-av7nkv5AOEwjZyyjkI9Hgy.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PC8N-y0PPPHeAwhkYGyYYI9H1UUHy.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PqWPF7Pn3u9LPGyrxipPfrpfm31zz.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PM_ADyGOaL4e2biSXvxQWrEDM78Z3.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PfGXdJkORwLQ-aX-d9bla7obqtnkt.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PmILc9BsSYjJ9OKH4MkPr0D4LGYGC.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RWApItBGtGUDsfMVlHKqrjUQ4rShT/Py-J0ezaQ_Fdsh_196hT-XgsYNQAs.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PUJUPZHk2jrE1KVUS7H13mKBH4oVR.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RWApItBGtGUDsfMVlHKqrjUQ4rShT/POIYfYCEIron9yzowfHWhVea-VEFW.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RWApItBGtGUDsfMVlHKqrjUQ4rShT/P_1mfRE8eDZ7zCLQwGT_3n8YC34dE.json'", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PjGykEyzLOFynTPTNDcycF0GYg1PE.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PRzzJL7OHYeejsIvgfG1ph6BAeS_q.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PNavIaZhgwAeZM0-QhWHe_38iUgEF.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PpxTrTc6NkExiq1nzQkhd3cJ1-yRY.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PVYIDqiD6OslrGDcpUvuqvc0bD8Jr.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PiZTl1-v3bdCUDjxt-w2VxKMGW3-6.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PomJQS9nQ4WsUIr718n6H4YbM0Fi7.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PEC0GOHh7MviqeJkG1qukjk4bALIS.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PNXyczNslCGZT642R9ZFYGvidFvua.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PpyJZtNPyNqX3ofwfNMpvJU_9PEKI.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PA3s37bS9VLUzI5wYL_ntZ6RIM6IJ.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PvEU0OOwFN7eFqiwt9m9S_SmhCJUm.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PsJUIeSLEotoIZk6R54H-G2JWPnQG.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PUT_umVDXGUamLH1R7nkazwKz95dz.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RWApItBGtGUDsfMVlHKqrjUQ4rShT/P_rlThO8Jv0C2YIgYKLbCTM1rvfW-.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PyizrsR40QyxopYKKk2jUtl7nElXJ.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PQhb3_h4Bo9e5xjhhTUBY_8uOEtTM.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RWApItBGtGUDsfMVlHKqrjUQ4rShT/P0tj3NYHfrit7NB0ewfG-fIjRWuJD.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PlrW3wNN03bq-G8TLkXHpALwSTUUg.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RWApItBGtGUDsfMVlHKqrjUQ4rShT/P3hSpXydSB6z3p79OEIOQK6llto1K.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RWApItBGtGUDsfMVlHKqrjUQ4rShT/Pa7ltCNBQsk7Owlu0bJnsE8iY-Rmw.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PYeYlDJb7j4qJ9ol38GSM_eYJsiSe.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PX39jEfgLeDPddrkPuTvUfVv4_thl.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PWNXU92VwL7KkuoxItglRiuifcOnk.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PoWlbXJuGJ4-22DclM15L_g44LN3P.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PEYkIqgUpWfoq4Tcsy8_bFVUs9mko.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RWApItBGtGUDsfMVlHKqrjUQ4rShT/Pst86UVhV07OfKDhwlp0PNxiMtXki.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PVc9Pn-w-6MEpu41jV4p_keLeM-Yy.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RWApItBGtGUDsfMVlHKqrjUQ4rShT/P81vIYtJtOEx4n865B86z-KvUb6hA.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RWApItBGtGUDsfMVlHKqrjUQ4rShT/P8BMwwn-g_0Xezs6oK3ay6ZRXIRR-.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RWApItBGtGUDsfMVlHKqrjUQ4rShT/P8nQ1bSGP4pyRMOa4i5Uhjpb1Mord.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PCmzvvjhPSzkp_bhkAuDWK375Fs9g.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PhaEAJ72mzGm65KpjGcnVVlFax_l7.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PvXy3VrpadhZLQAwphJE6GVB_0OUp.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RWApItBGtGUDsfMVlHKqrjUQ4rShT/P3486jK16L4wlXG0B4v1-csMQ6oJ3.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RWApItBGtGUDsfMVlHKqrjUQ4rShT/POL8lsjGueHjkLb9hMpptti6c8Phg.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PULp85M-UCJ52e4UaGcyeLDmUeq2Z.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RWApItBGtGUDsfMVlHKqrjUQ4rShT/Pr6E85ezTMa4WX-GTFoms6w0Rb0hT.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RWApItBGtGUDsfMVlHKqrjUQ4rShT/P0e8gRRxOvcJquPDa7SeYFk2OCiFS.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RWApItBGtGUDsfMVlHKqrjUQ4rShT/Px8VpfH0LzX99ht06ME-0EsmmrSqe.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PM3KjHYJjTA26va4uYXD8homH7pUm.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RWApItBGtGUDsfMVlHKqrjUQ4rShT/P6GMfPCT_Fa40hXkVKpqnygEBt4PG.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RWApItBGtGUDsfMVlHKqrjUQ4rShT/Pu9uI6ldU3ZVgwfmy-Um0D7IBxTCK.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PN0ekL4w0k3A5OXacRBScDJ9KlGMf.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RWApItBGtGUDsfMVlHKqrjUQ4rShT/P39GmzBY478BzuXrZM-0i2Z-njyb9.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PEhAEeu8aSPA_d3_dHCjTlAi1y09j.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PVshjrYqjAg_8QtgfGW2ABnR-mlIP.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PDjDFM8OWbY0TtHCY-DBYRJmRQ8fO.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PxkyksXrwYuxnJ_wD7qN890rycd67.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PUDiBRLe2pg5Hjvd3kc_20wMbinMI.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PpikjM2BVj1atNlsbkcJzK9TkUIox.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PcYC-NeMnx_goUeYg8PmaNVo0chDc.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PQFhJGR6USZg0MrTttQvXm1IiHIdq.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PGvuYKpzVCcWnf33I4uy8fGyJVxXq.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PV--hzM8rvSS8a6LZBuuW6IPbqvY6.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PHQ9WIyu3N7whYM_ykFZunv5to3l2.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RWApItBGtGUDsfMVlHKqrjUQ4rShT/P2_H4gO4T7T7jknE474jzrc1Y4Tjm.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PFs1SxWG79Zqj0jssdOIqUicZk9aH.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PiOIHShEKCjdganj-Sd0MkJaLglGr.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RWApItBGtGUDsfMVlHKqrjUQ4rShT/Pn-jKNaG1IM7sKsxBh-ekfl3M3hIa.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RWApItBGtGUDsfMVlHKqrjUQ4rShT/P_80H6vlBefw1U3rKFDPPtpJAX1GH.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PdHoVKHCES7XtBpTVk0eihbo0kqmR.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PAzsSjYMU1-CdGulNpG_KzgFlfRrK.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PVlh5JoGn6jHWlE96SKt6eRMYTIVK.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PHfNgOoPEHjzs9iOh900vIUv-GVJl.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PVTUPQyCTvrAWV0DEN_xnPgrBPmM2.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RWApItBGtGUDsfMVlHKqrjUQ4rShT/Pws96oc5f7jIltD9Vvqc3svzL4mcW.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PLJBz0uY-AywnUhGMCXMounM-_Af3.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RWApItBGtGUDsfMVlHKqrjUQ4rShT/Pkole11VWAOiu91qHeq6lOzIM2Y1Y.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RWApItBGtGUDsfMVlHKqrjUQ4rShT/P2R4Ds9DFm8USF_AgHtQnWK1TkQiR.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PxrF4NRKjX9jsmVIocs7uQuLwD_cS.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PMxYGoRCMDXQWrNytWJHc-vUgRKTT.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PK3-3e-av7nkv5AOEwjZyyjkI9Hgy.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PC8N-y0PPPHeAwhkYGyYYI9H1UUHy.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PqWPF7Pn3u9LPGyrxipPfrpfm31zz.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PM_ADyGOaL4e2biSXvxQWrEDM78Z3.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PfGXdJkORwLQ-aX-d9bla7obqtnkt.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PmILc9BsSYjJ9OKH4MkPr0D4LGYGC.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RWApItBGtGUDsfMVlHKqrjUQ4rShT/Py-J0ezaQ_Fdsh_196hT-XgsYNQAs.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RWApItBGtGUDsfMVlHKqrjUQ4rShT/PUJUPZHk2jrE1KVUS7H13mKBH4oVR.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RWApItBGtGUDsfMVlHKqrjUQ4rShT/POIYfYCEIron9yzowfHWhVea-VEFW.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RWApItBGtGUDsfMVlHKqrjUQ4rShT/P_1mfRE8eDZ7zCLQwGT_3n8YC34dE.json'", "]", "", "json_list_CsCl = [", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RdUzye8EKmv-z4LGNHGTSk8S3S1WY/PIRlbBTaMiNQ1VKhqabDhuqB9IOe4.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RdUzye8EKmv-z4LGNHGTSk8S3S1WY/P3B__zZKVnOmaDBvOs_L14s4wnjHY.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RdUzye8EKmv-z4LGNHGTSk8S3S1WY/Pgp_iFetyKfxr7GRYNkG4WoPfswhL.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RdUzye8EKmv-z4LGNHGTSk8S3S1WY/PXxYjxQSKW1VJ9wMmb1u-jjLO9FGF.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RdUzye8EKmv-z4LGNHGTSk8S3S1WY/PGboU_7DdiQ5OSNrmrakqPahp-j7a.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RdUzye8EKmv-z4LGNHGTSk8S3S1WY/Pm0z-JCdEggnZQsNoEe27pbIMAj7L.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RdUzye8EKmv-z4LGNHGTSk8S3S1WY/PpNRT28QPEW4ZKgm0j3rpxI2ooQRG.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RdUzye8EKmv-z4LGNHGTSk8S3S1WY/P2pMxxJvJcuhXqGyfMtVkb_66qbcs.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RdUzye8EKmv-z4LGNHGTSk8S3S1WY/P2o4_lO-SQz2OEqSFGsS5d8w74zpB.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RdUzye8EKmv-z4LGNHGTSk8S3S1WY/PxQWzrxTo-ma1RGfL0r5bcdZIPsQ0.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RdUzye8EKmv-z4LGNHGTSk8S3S1WY/Pg2GfA754Ig9PHoDokXafaMLztRub.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RdUzye8EKmv-z4LGNHGTSk8S3S1WY/PscYWBT_tAUMxD2JkgoL1LtUG-wDb.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RdUzye8EKmv-z4LGNHGTSk8S3S1WY/PA-cUYsCkN5H-9ua4OBzYydK_jcRx.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RdUzye8EKmv-z4LGNHGTSk8S3S1WY/PPhKvncT-cSOWAbYMJiSm5NVCvnIz.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RdUzye8EKmv-z4LGNHGTSk8S3S1WY/Pbxu3z8rweLYJyp1de799L76lA0ac.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RdUzye8EKmv-z4LGNHGTSk8S3S1WY/PjTRITuvG0JU5e6n88LU5TTN9jwye.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RdUzye8EKmv-z4LGNHGTSk8S3S1WY/PhZezMUnCw-bBengeP28IneJN2-0F.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RdUzye8EKmv-z4LGNHGTSk8S3S1WY/P18HrEcfryJ8AAVVgO9VGB9O5RfoB.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RdUzye8EKmv-z4LGNHGTSk8S3S1WY/P1VMBzj56okz74wOcW07jLwKF3Cm1.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RdUzye8EKmv-z4LGNHGTSk8S3S1WY/P5QFFcNxIzzyaJ7UGVaUfG29L_ekI.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RdUzye8EKmv-z4LGNHGTSk8S3S1WY/PMHhjns0d9kA_zveXjhtgLbeQ9_bc.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RdUzye8EKmv-z4LGNHGTSk8S3S1WY/PTTqFWfgIK6yIXKCsqxidYjFPxtBX.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RdUzye8EKmv-z4LGNHGTSk8S3S1WY/P43rGwurooDLNWmhQoYE0jbo7dH_o.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RdUzye8EKmv-z4LGNHGTSk8S3S1WY/PKTpOd5uojJYFW0otZD1QMilzWvjP.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RdUzye8EKmv-z4LGNHGTSk8S3S1WY/PWrseUDhfrb56VggdqHYt4z3tEyCE.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RdUzye8EKmv-z4LGNHGTSk8S3S1WY/Pi73S1_KJZVDYQpxV3xzdPxxG_kwN.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RdUzye8EKmv-z4LGNHGTSk8S3S1WY/Pg-uEebhs8tbbyvhpyPH1XhOG1BYQ.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RdUzye8EKmv-z4LGNHGTSk8S3S1WY/P_vULVekRZnDXvZrVRZufjrJu14QY.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RdUzye8EKmv-z4LGNHGTSk8S3S1WY/Pu-XrMkI2Zzal7tY3c7iYso3uIOzV.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RdUzye8EKmv-z4LGNHGTSk8S3S1WY/PF0DrL1ldhfgZ672Ed2GCuNavzDIr.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RdUzye8EKmv-z4LGNHGTSk8S3S1WY/PuaEUEAOF0S3AnRk6CLzFd-W4ibx1.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RdUzye8EKmv-z4LGNHGTSk8S3S1WY/P_Y9e3QHvFCfl9yUq8qH-jUZMoDGc.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RdUzye8EKmv-z4LGNHGTSk8S3S1WY/PZdv_e1shtOnFEGJSwDQfCizmGhZS.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RdUzye8EKmv-z4LGNHGTSk8S3S1WY/PYy2RgZDVewnnkkZ9fREWtpZukLm2.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RdUzye8EKmv-z4LGNHGTSk8S3S1WY/PKTRIZkIIPsX2EhU-6auRI-JMZ-nw.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RdUzye8EKmv-z4LGNHGTSk8S3S1WY/POV16kLfrFBaEMGVHgzkl-_yVdddN.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RdUzye8EKmv-z4LGNHGTSk8S3S1WY/P5Md7_re4VEnnoSTEd8anio8pz3a2.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RdUzye8EKmv-z4LGNHGTSk8S3S1WY/P36-nbxTiIV3eFR3HJgDw74yF3wDB.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RdUzye8EKmv-z4LGNHGTSk8S3S1WY/PQSUMZO2fOt9D6opd-qiWYOlIZ-on.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RdUzye8EKmv-z4LGNHGTSk8S3S1WY/P1YZwCKtFBWFmPnYQccQoOwiXCd9K.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RdUzye8EKmv-z4LGNHGTSk8S3S1WY/PyQJnb7G3hm_3gOp8zEGwXEDjTj4v.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RdUzye8EKmv-z4LGNHGTSk8S3S1WY/PYHAy2GsdfKTsJLk3wAyKAxgxfyOs.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RdUzye8EKmv-z4LGNHGTSk8S3S1WY/PvIRNmFS5l-8fr_9x6N0nZIWR8jzy.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RdUzye8EKmv-z4LGNHGTSk8S3S1WY/PKXmS6JHkYsf8FtNg681vApgu-Erc.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RdUzye8EKmv-z4LGNHGTSk8S3S1WY/PQfoZNBx_GCgQ7YfyD3S7ZcZsyYbP.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RdUzye8EKmv-z4LGNHGTSk8S3S1WY/PQRRkYOU_MTiiNHXoILzbpgKmmbA8.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RdUzye8EKmv-z4LGNHGTSk8S3S1WY/P0RFWJAEUbhqLzgNdKzErW4Izt-YM.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RdUzye8EKmv-z4LGNHGTSk8S3S1WY/P_C5ytIaEHZSTPvmC4I5odzwQpuBD.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RdUzye8EKmv-z4LGNHGTSk8S3S1WY/PY5anfdrO_36OFXvPhdjpbwjtI4X1.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RdUzye8EKmv-z4LGNHGTSk8S3S1WY/PMTCY7aPOWy-0JBOQgQC3lONNXBXt.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RdUzye8EKmv-z4LGNHGTSk8S3S1WY/PH7pLTgzQXypXviKhJnTBdczBLdOJ.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RdUzye8EKmv-z4LGNHGTSk8S3S1WY/PawPTbSHU4OTB9QvRdfHjCgjBGptD.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RdUzye8EKmv-z4LGNHGTSk8S3S1WY/P4jdJovhkzo0PJpi5IN4Mg0Oe-cAX.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RdUzye8EKmv-z4LGNHGTSk8S3S1WY/PcB_hXovOBjFx0L6OPkS1y0nOY6KB.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RdUzye8EKmv-z4LGNHGTSk8S3S1WY/PYLeORn3iTTQKJs7qQ6bfrhkR69AV.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RdUzye8EKmv-z4LGNHGTSk8S3S1WY/PaoP8xeJPeo100rX3JuBxBsDlAq4V.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RdUzye8EKmv-z4LGNHGTSk8S3S1WY/PHwBj6eF14Y2lPi9j-1EfgyGZSZcV.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RdUzye8EKmv-z4LGNHGTSk8S3S1WY/PXM_X3DgmWnG5JkcBjnaR2Wep_VfJ.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RdUzye8EKmv-z4LGNHGTSk8S3S1WY/PnjsWAHk0RUtoNdeSXXaI7pcdjrfe.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RdUzye8EKmv-z4LGNHGTSk8S3S1WY/P_gGA6S_wkFW8FDU1zijcihHoo3vb.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RdUzye8EKmv-z4LGNHGTSk8S3S1WY/PDn8UC1Y6h_RUAlo3VyIDlKh6HAJB.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RdUzye8EKmv-z4LGNHGTSk8S3S1WY/PcM9XD-ABaiWI6uzFj5WA0ess91L_.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RdUzye8EKmv-z4LGNHGTSk8S3S1WY/PHBKo3mCEiQgQrHR_eQTdyDUhzqw7.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RdUzye8EKmv-z4LGNHGTSk8S3S1WY/Pq-91p0IUm07LPxaSDXvtSX0gbZ_K.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RdUzye8EKmv-z4LGNHGTSk8S3S1WY/PnEshqvTW-lapxyg_bXQYZkxHOxD4.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RdUzye8EKmv-z4LGNHGTSk8S3S1WY/PeAMdpHU6rgdvLGXZ08xI0qVu6kAY.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RdUzye8EKmv-z4LGNHGTSk8S3S1WY/PevCaOzY29IRg3H6qqCTi_PggLnUP.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RdUzye8EKmv-z4LGNHGTSk8S3S1WY/PJv5p_rvg7Eh2FQjzGQUk_6w7MQL_.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RdUzye8EKmv-z4LGNHGTSk8S3S1WY/P2qVzIPhrJUCzsc9ppsKdpQW8ikl6.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RdUzye8EKmv-z4LGNHGTSk8S3S1WY/Pn-2pwSn1Wpgn6SgMM6Ob9mmPmwl7.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RdUzye8EKmv-z4LGNHGTSk8S3S1WY/P_lwRYHTdbLNTfv9FII1BVBACyorE.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RdUzye8EKmv-z4LGNHGTSk8S3S1WY/PP9AadG9tqw-S40mSYEt7vXR8RE-m.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RdUzye8EKmv-z4LGNHGTSk8S3S1WY/Pc-u47uUy7U8ehQzuq3lTuCjd0lGA.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RdUzye8EKmv-z4LGNHGTSk8S3S1WY/PaG-lWNnYge66HarUGTg1rtX7I1F4.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RdUzye8EKmv-z4LGNHGTSk8S3S1WY/P6IBV-w0aSDnxUZsmUuxSg6xCQZ3O.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RdUzye8EKmv-z4LGNHGTSk8S3S1WY/PIaIOQ6F7cRff_uAzgXprz021EZGk.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RdUzye8EKmv-z4LGNHGTSk8S3S1WY/PEZtiUxYWUY4i207toEAVm6H0-xqe.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RdUzye8EKmv-z4LGNHGTSk8S3S1WY/PHYusuVscXWc8wKQrkOH_KxQ0GNTR.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RdUzye8EKmv-z4LGNHGTSk8S3S1WY/PiPLNzNyrE57iYNj_dRwoh2kU3I5D.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RdUzye8EKmv-z4LGNHGTSk8S3S1WY/PCK4m5cbknkLjCo4R8RdGovR_kX-6.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RdUzye8EKmv-z4LGNHGTSk8S3S1WY/PLmH6G-V3h-7xYecf7NRXStunDxbP.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RdUzye8EKmv-z4LGNHGTSk8S3S1WY/P3HByavMn4jvohNOfczPV2jqcumiv.json'", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RdUzye8EKmv-z4LGNHGTSk8S3S1WY/PIRlbBTaMiNQ1VKhqabDhuqB9IOe4.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RdUzye8EKmv-z4LGNHGTSk8S3S1WY/P3B__zZKVnOmaDBvOs_L14s4wnjHY.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RdUzye8EKmv-z4LGNHGTSk8S3S1WY/Pgp_iFetyKfxr7GRYNkG4WoPfswhL.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RdUzye8EKmv-z4LGNHGTSk8S3S1WY/PXxYjxQSKW1VJ9wMmb1u-jjLO9FGF.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RdUzye8EKmv-z4LGNHGTSk8S3S1WY/PGboU_7DdiQ5OSNrmrakqPahp-j7a.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RdUzye8EKmv-z4LGNHGTSk8S3S1WY/Pm0z-JCdEggnZQsNoEe27pbIMAj7L.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RdUzye8EKmv-z4LGNHGTSk8S3S1WY/PpNRT28QPEW4ZKgm0j3rpxI2ooQRG.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RdUzye8EKmv-z4LGNHGTSk8S3S1WY/P2pMxxJvJcuhXqGyfMtVkb_66qbcs.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RdUzye8EKmv-z4LGNHGTSk8S3S1WY/P2o4_lO-SQz2OEqSFGsS5d8w74zpB.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RdUzye8EKmv-z4LGNHGTSk8S3S1WY/PxQWzrxTo-ma1RGfL0r5bcdZIPsQ0.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RdUzye8EKmv-z4LGNHGTSk8S3S1WY/Pg2GfA754Ig9PHoDokXafaMLztRub.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RdUzye8EKmv-z4LGNHGTSk8S3S1WY/PscYWBT_tAUMxD2JkgoL1LtUG-wDb.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RdUzye8EKmv-z4LGNHGTSk8S3S1WY/PA-cUYsCkN5H-9ua4OBzYydK_jcRx.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RdUzye8EKmv-z4LGNHGTSk8S3S1WY/PPhKvncT-cSOWAbYMJiSm5NVCvnIz.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RdUzye8EKmv-z4LGNHGTSk8S3S1WY/Pbxu3z8rweLYJyp1de799L76lA0ac.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RdUzye8EKmv-z4LGNHGTSk8S3S1WY/PjTRITuvG0JU5e6n88LU5TTN9jwye.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RdUzye8EKmv-z4LGNHGTSk8S3S1WY/PhZezMUnCw-bBengeP28IneJN2-0F.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RdUzye8EKmv-z4LGNHGTSk8S3S1WY/P18HrEcfryJ8AAVVgO9VGB9O5RfoB.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RdUzye8EKmv-z4LGNHGTSk8S3S1WY/P1VMBzj56okz74wOcW07jLwKF3Cm1.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RdUzye8EKmv-z4LGNHGTSk8S3S1WY/P5QFFcNxIzzyaJ7UGVaUfG29L_ekI.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RdUzye8EKmv-z4LGNHGTSk8S3S1WY/PMHhjns0d9kA_zveXjhtgLbeQ9_bc.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RdUzye8EKmv-z4LGNHGTSk8S3S1WY/PTTqFWfgIK6yIXKCsqxidYjFPxtBX.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RdUzye8EKmv-z4LGNHGTSk8S3S1WY/P43rGwurooDLNWmhQoYE0jbo7dH_o.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RdUzye8EKmv-z4LGNHGTSk8S3S1WY/PKTpOd5uojJYFW0otZD1QMilzWvjP.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RdUzye8EKmv-z4LGNHGTSk8S3S1WY/PWrseUDhfrb56VggdqHYt4z3tEyCE.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RdUzye8EKmv-z4LGNHGTSk8S3S1WY/Pi73S1_KJZVDYQpxV3xzdPxxG_kwN.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RdUzye8EKmv-z4LGNHGTSk8S3S1WY/Pg-uEebhs8tbbyvhpyPH1XhOG1BYQ.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RdUzye8EKmv-z4LGNHGTSk8S3S1WY/P_vULVekRZnDXvZrVRZufjrJu14QY.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RdUzye8EKmv-z4LGNHGTSk8S3S1WY/Pu-XrMkI2Zzal7tY3c7iYso3uIOzV.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RdUzye8EKmv-z4LGNHGTSk8S3S1WY/PF0DrL1ldhfgZ672Ed2GCuNavzDIr.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RdUzye8EKmv-z4LGNHGTSk8S3S1WY/PuaEUEAOF0S3AnRk6CLzFd-W4ibx1.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RdUzye8EKmv-z4LGNHGTSk8S3S1WY/P_Y9e3QHvFCfl9yUq8qH-jUZMoDGc.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RdUzye8EKmv-z4LGNHGTSk8S3S1WY/PZdv_e1shtOnFEGJSwDQfCizmGhZS.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RdUzye8EKmv-z4LGNHGTSk8S3S1WY/PYy2RgZDVewnnkkZ9fREWtpZukLm2.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RdUzye8EKmv-z4LGNHGTSk8S3S1WY/PKTRIZkIIPsX2EhU-6auRI-JMZ-nw.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RdUzye8EKmv-z4LGNHGTSk8S3S1WY/POV16kLfrFBaEMGVHgzkl-_yVdddN.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RdUzye8EKmv-z4LGNHGTSk8S3S1WY/P5Md7_re4VEnnoSTEd8anio8pz3a2.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RdUzye8EKmv-z4LGNHGTSk8S3S1WY/P36-nbxTiIV3eFR3HJgDw74yF3wDB.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RdUzye8EKmv-z4LGNHGTSk8S3S1WY/PQSUMZO2fOt9D6opd-qiWYOlIZ-on.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RdUzye8EKmv-z4LGNHGTSk8S3S1WY/P1YZwCKtFBWFmPnYQccQoOwiXCd9K.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RdUzye8EKmv-z4LGNHGTSk8S3S1WY/PyQJnb7G3hm_3gOp8zEGwXEDjTj4v.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RdUzye8EKmv-z4LGNHGTSk8S3S1WY/PYHAy2GsdfKTsJLk3wAyKAxgxfyOs.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RdUzye8EKmv-z4LGNHGTSk8S3S1WY/PvIRNmFS5l-8fr_9x6N0nZIWR8jzy.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RdUzye8EKmv-z4LGNHGTSk8S3S1WY/PKXmS6JHkYsf8FtNg681vApgu-Erc.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RdUzye8EKmv-z4LGNHGTSk8S3S1WY/PQfoZNBx_GCgQ7YfyD3S7ZcZsyYbP.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RdUzye8EKmv-z4LGNHGTSk8S3S1WY/PQRRkYOU_MTiiNHXoILzbpgKmmbA8.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RdUzye8EKmv-z4LGNHGTSk8S3S1WY/P0RFWJAEUbhqLzgNdKzErW4Izt-YM.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RdUzye8EKmv-z4LGNHGTSk8S3S1WY/P_C5ytIaEHZSTPvmC4I5odzwQpuBD.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RdUzye8EKmv-z4LGNHGTSk8S3S1WY/PY5anfdrO_36OFXvPhdjpbwjtI4X1.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RdUzye8EKmv-z4LGNHGTSk8S3S1WY/PMTCY7aPOWy-0JBOQgQC3lONNXBXt.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RdUzye8EKmv-z4LGNHGTSk8S3S1WY/PH7pLTgzQXypXviKhJnTBdczBLdOJ.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RdUzye8EKmv-z4LGNHGTSk8S3S1WY/PawPTbSHU4OTB9QvRdfHjCgjBGptD.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RdUzye8EKmv-z4LGNHGTSk8S3S1WY/P4jdJovhkzo0PJpi5IN4Mg0Oe-cAX.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RdUzye8EKmv-z4LGNHGTSk8S3S1WY/PcB_hXovOBjFx0L6OPkS1y0nOY6KB.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RdUzye8EKmv-z4LGNHGTSk8S3S1WY/PYLeORn3iTTQKJs7qQ6bfrhkR69AV.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RdUzye8EKmv-z4LGNHGTSk8S3S1WY/PaoP8xeJPeo100rX3JuBxBsDlAq4V.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RdUzye8EKmv-z4LGNHGTSk8S3S1WY/PHwBj6eF14Y2lPi9j-1EfgyGZSZcV.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RdUzye8EKmv-z4LGNHGTSk8S3S1WY/PXM_X3DgmWnG5JkcBjnaR2Wep_VfJ.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RdUzye8EKmv-z4LGNHGTSk8S3S1WY/PnjsWAHk0RUtoNdeSXXaI7pcdjrfe.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RdUzye8EKmv-z4LGNHGTSk8S3S1WY/P_gGA6S_wkFW8FDU1zijcihHoo3vb.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RdUzye8EKmv-z4LGNHGTSk8S3S1WY/PDn8UC1Y6h_RUAlo3VyIDlKh6HAJB.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RdUzye8EKmv-z4LGNHGTSk8S3S1WY/PcM9XD-ABaiWI6uzFj5WA0ess91L_.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RdUzye8EKmv-z4LGNHGTSk8S3S1WY/PHBKo3mCEiQgQrHR_eQTdyDUhzqw7.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RdUzye8EKmv-z4LGNHGTSk8S3S1WY/Pq-91p0IUm07LPxaSDXvtSX0gbZ_K.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RdUzye8EKmv-z4LGNHGTSk8S3S1WY/PnEshqvTW-lapxyg_bXQYZkxHOxD4.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RdUzye8EKmv-z4LGNHGTSk8S3S1WY/PeAMdpHU6rgdvLGXZ08xI0qVu6kAY.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RdUzye8EKmv-z4LGNHGTSk8S3S1WY/PevCaOzY29IRg3H6qqCTi_PggLnUP.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RdUzye8EKmv-z4LGNHGTSk8S3S1WY/PJv5p_rvg7Eh2FQjzGQUk_6w7MQL_.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RdUzye8EKmv-z4LGNHGTSk8S3S1WY/P2qVzIPhrJUCzsc9ppsKdpQW8ikl6.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RdUzye8EKmv-z4LGNHGTSk8S3S1WY/Pn-2pwSn1Wpgn6SgMM6Ob9mmPmwl7.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RdUzye8EKmv-z4LGNHGTSk8S3S1WY/P_lwRYHTdbLNTfv9FII1BVBACyorE.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RdUzye8EKmv-z4LGNHGTSk8S3S1WY/PP9AadG9tqw-S40mSYEt7vXR8RE-m.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RdUzye8EKmv-z4LGNHGTSk8S3S1WY/Pc-u47uUy7U8ehQzuq3lTuCjd0lGA.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RdUzye8EKmv-z4LGNHGTSk8S3S1WY/PaG-lWNnYge66HarUGTg1rtX7I1F4.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RdUzye8EKmv-z4LGNHGTSk8S3S1WY/P6IBV-w0aSDnxUZsmUuxSg6xCQZ3O.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RdUzye8EKmv-z4LGNHGTSk8S3S1WY/PIaIOQ6F7cRff_uAzgXprz021EZGk.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RdUzye8EKmv-z4LGNHGTSk8S3S1WY/PEZtiUxYWUY4i207toEAVm6H0-xqe.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RdUzye8EKmv-z4LGNHGTSk8S3S1WY/PHYusuVscXWc8wKQrkOH_KxQ0GNTR.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RdUzye8EKmv-z4LGNHGTSk8S3S1WY/PiPLNzNyrE57iYNj_dRwoh2kU3I5D.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RdUzye8EKmv-z4LGNHGTSk8S3S1WY/PCK4m5cbknkLjCo4R8RdGovR_kX-6.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RdUzye8EKmv-z4LGNHGTSk8S3S1WY/PLmH6G-V3h-7xYecf7NRXStunDxbP.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RdUzye8EKmv-z4LGNHGTSk8S3S1WY/P3HByavMn4jvohNOfczPV2jqcumiv.json'", "]", "", "", "", "json_list_NiAs = [", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RJYwKZ8zrRB52nhBgpdhktPLdch9O/P-dui2TY4ZxiIXEp4SCRZ49HFDNgJ.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RJYwKZ8zrRB52nhBgpdhktPLdch9O/PmDh50LpQzS_da22TaE8It_YSj77X.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RJYwKZ8zrRB52nhBgpdhktPLdch9O/P3gAGM5-mfbLO6EJg-qMQB6cBwr6u.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RJYwKZ8zrRB52nhBgpdhktPLdch9O/PuCgYgxUJfNqF1JmXsORr4OM2oINW.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RJYwKZ8zrRB52nhBgpdhktPLdch9O/Pp_UJWlpTsNowZd5aBe8FSQ17bz-e.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RJYwKZ8zrRB52nhBgpdhktPLdch9O/PvDLR-v2wQV54ybbmFxlfVvMo55i_.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RJYwKZ8zrRB52nhBgpdhktPLdch9O/Pc16cmgCxMGJVfkVyLMch_hka3pr4.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RJYwKZ8zrRB52nhBgpdhktPLdch9O/PR-uo-xcVI4wFEQ2iuA-G8JMi7fPN.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RJYwKZ8zrRB52nhBgpdhktPLdch9O/Pt5UafJZR0_wNRw4WDyXaNjLwJ1n2.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RJYwKZ8zrRB52nhBgpdhktPLdch9O/PDHg9rVfs-x86OEjd3xtG4TpC8pO1.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RJYwKZ8zrRB52nhBgpdhktPLdch9O/PuyaEloJCHIdLU0dGaGx8z1A6ct29.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RJYwKZ8zrRB52nhBgpdhktPLdch9O/PQZmsw8Gx5eBJtw4QGtG8ugABWhTX.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RJYwKZ8zrRB52nhBgpdhktPLdch9O/PlJ8tz2cijYSfZxRUQyHNg_zca8_C.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RJYwKZ8zrRB52nhBgpdhktPLdch9O/PMmOhN6StAnBuYBK4D3XdqHaCYy9Z.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RJYwKZ8zrRB52nhBgpdhktPLdch9O/PFpQtJPAYp0SpseuQGgw7aLKiUivG.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RJYwKZ8zrRB52nhBgpdhktPLdch9O/Pc3daHd1pC3L9nzyS-Iq6f0M8cm9T.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RJYwKZ8zrRB52nhBgpdhktPLdch9O/PN_Wh0wFHcOlQUgBiDFgmeYeFGsFL.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RJYwKZ8zrRB52nhBgpdhktPLdch9O/PmQjRuQvGKLL-csvI73WgRbjBHJbC.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RJYwKZ8zrRB52nhBgpdhktPLdch9O/PGllOLC8l-lLm0CzMnKMSSvpD5n_Q.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RJYwKZ8zrRB52nhBgpdhktPLdch9O/PHjmxV6JNYJwAn3B9GCnTNhdIxj1z.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RJYwKZ8zrRB52nhBgpdhktPLdch9O/PPObwmHCGMOox3-hjo1VgAJbZnW6O.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RJYwKZ8zrRB52nhBgpdhktPLdch9O/PvqTVJMeG3YVfjfj436tUAT_txn0i.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RJYwKZ8zrRB52nhBgpdhktPLdch9O/P77v51aHmrMo45DIGqV-iKiYcWxk5.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RJYwKZ8zrRB52nhBgpdhktPLdch9O/PfSIi5iq5X6YwT_HkH90wcEOzQYNO.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RJYwKZ8zrRB52nhBgpdhktPLdch9O/PgrTwn7a-pHLJRA9evjoWmOJOHkBg.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RJYwKZ8zrRB52nhBgpdhktPLdch9O/PMOdnMs8OB6JPkc0CSGDuIwtG2Pjv.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RJYwKZ8zrRB52nhBgpdhktPLdch9O/PnMOQn4G6xYtA1FzDVHu6gmh2JLhu.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RJYwKZ8zrRB52nhBgpdhktPLdch9O/P0fB4rWmeCLXwIMji3nVfywWr1MIZ.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RJYwKZ8zrRB52nhBgpdhktPLdch9O/PBDX18aKlWcZ4FW_d-sDB2Kc8e1GU.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RJYwKZ8zrRB52nhBgpdhktPLdch9O/PiZJIsQKK_G0RXdXl7Shr2-nZPehw.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RJYwKZ8zrRB52nhBgpdhktPLdch9O/PPBAyBlXjQ5c13hrgSoP_58fJs7Mt.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RJYwKZ8zrRB52nhBgpdhktPLdch9O/Pg6sh0-wd0SbZUa66m24MpSpH9psJ.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RJYwKZ8zrRB52nhBgpdhktPLdch9O/PmXDCgE1pf3rbWcDhtLwup8WYKjwM.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RJYwKZ8zrRB52nhBgpdhktPLdch9O/PS1IAWvAiUztTfpnIlrpF3pE8mrhC.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RJYwKZ8zrRB52nhBgpdhktPLdch9O/PMaNLiPNAkPV406IjjvU8Bn8-D8lf.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RJYwKZ8zrRB52nhBgpdhktPLdch9O/Pz4zfRNiVjjhVG-BhJxjCOat81RIi.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RJYwKZ8zrRB52nhBgpdhktPLdch9O/PdYwOJxkV70Yw6LkPhdo_vUZxBl_d.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RJYwKZ8zrRB52nhBgpdhktPLdch9O/PnxnQpROWkdWAhxvs82rVj7zUjCtZ.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RJYwKZ8zrRB52nhBgpdhktPLdch9O/P5GgfAowwH2qlLIsze3d8c-Srrfe-.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RJYwKZ8zrRB52nhBgpdhktPLdch9O/P82IC7hQk8vOfPVQvBss2BUIx52CR.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RJYwKZ8zrRB52nhBgpdhktPLdch9O/P8k-Ht0l4Qlu6u0GEIW8d8Q5rRqFG.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RJYwKZ8zrRB52nhBgpdhktPLdch9O/PbqRKCaI9e_0DbSog3SuPVhMA3Wou.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RJYwKZ8zrRB52nhBgpdhktPLdch9O/PYga7dCRnhE_l2TrGlHIWN0bxQX3k.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RJYwKZ8zrRB52nhBgpdhktPLdch9O/PbPYY6WnJFjc0KBcuaZfZW2UVFg0A.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RJYwKZ8zrRB52nhBgpdhktPLdch9O/PrmsxflHOz5iM4Ojqgh0NI5HL2GrL.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RJYwKZ8zrRB52nhBgpdhktPLdch9O/Put2dYTn06rYM7Y2pMTwAslFeon7X.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RJYwKZ8zrRB52nhBgpdhktPLdch9O/Pswr2zKV0lBFiRJAvjzNSwZs7zgej.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RJYwKZ8zrRB52nhBgpdhktPLdch9O/PPr89vFU1wKFMqWtWvMR_AxkUvGzB.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RJYwKZ8zrRB52nhBgpdhktPLdch9O/P6ei5Lbls-0G2USQ0gTQZofmiuHLT.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RJYwKZ8zrRB52nhBgpdhktPLdch9O/PXkw_GHj3WdwT2mbi5oJ8F4nsP5Tv.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RJYwKZ8zrRB52nhBgpdhktPLdch9O/PfqD1k8H9wt6x5fcwD-6roTV__cyU.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RJYwKZ8zrRB52nhBgpdhktPLdch9O/PRj6m2mOQONofiDHX6xsCElZVKdlZ.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RJYwKZ8zrRB52nhBgpdhktPLdch9O/PtWwuS-Kdml03aciKwmcb3mk1_iXH.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RJYwKZ8zrRB52nhBgpdhktPLdch9O/Pz9GwGP_Low_eguK3Ws1vTMpkh7LH.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RJYwKZ8zrRB52nhBgpdhktPLdch9O/PKvl01wW0alep8Cun9Twg1RRRdQd9.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RJYwKZ8zrRB52nhBgpdhktPLdch9O/PeupS9TsYmtyuAiborqlHwHubKa2t.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RJYwKZ8zrRB52nhBgpdhktPLdch9O/PW9UjhkDcCr68OggbpjKz6GRBgCGS.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RJYwKZ8zrRB52nhBgpdhktPLdch9O/Pgok8pg-gM-VptWfUEQTCTivPtVmu.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RJYwKZ8zrRB52nhBgpdhktPLdch9O/PCIiUnQRIQ9F58JgbZykKQhHI01_z.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RJYwKZ8zrRB52nhBgpdhktPLdch9O/PtFbkLzE2IMcqOSDDueD8g-RYwuAO.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RJYwKZ8zrRB52nhBgpdhktPLdch9O/Pxz54y1rA37dfnleQvBqsN3YPWDWO.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RJYwKZ8zrRB52nhBgpdhktPLdch9O/PpptaCSwyhQYiFL5KgP06OPipC2gp.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RJYwKZ8zrRB52nhBgpdhktPLdch9O/P-w_Gws5_a3GNwtxej-MOj8FZZLXH.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RJYwKZ8zrRB52nhBgpdhktPLdch9O/PHLAOlMyML9v5V5hXIY1rKarmMMI-.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RJYwKZ8zrRB52nhBgpdhktPLdch9O/P8LviTZq7ANpRbgOKiDrTWAX08JMV.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RJYwKZ8zrRB52nhBgpdhktPLdch9O/PB6fpVr2gPp4l9R3pQ6c5YA2flsxH.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RJYwKZ8zrRB52nhBgpdhktPLdch9O/PHooClQaguow2eYR00Gd2f0x9O8e8.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RJYwKZ8zrRB52nhBgpdhktPLdch9O/P2a0GR1fyyxyT_CF1jISaxB3foanK.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RJYwKZ8zrRB52nhBgpdhktPLdch9O/PnXDyhc9V13_Qvyw37vJfJHcgoLBj.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RJYwKZ8zrRB52nhBgpdhktPLdch9O/P8nZZeX3oxjD8nOJXUdzo5RpgT-PZ.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RJYwKZ8zrRB52nhBgpdhktPLdch9O/PEHiNnHqU0ZM5VZfkfTyXJrrucHj7.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RJYwKZ8zrRB52nhBgpdhktPLdch9O/PldyGO0-PQ7VBIQXgb25qVHsDEDHW.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RJYwKZ8zrRB52nhBgpdhktPLdch9O/PIa5LjcvJEOMu0Xi3vHqewJwW5qR-.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RJYwKZ8zrRB52nhBgpdhktPLdch9O/PF8tubPUCksDCVTpvZgngKpb8kL6t.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RJYwKZ8zrRB52nhBgpdhktPLdch9O/P7mp2Ig1NFgqjD_YjXT4c-5bgDy7G.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RJYwKZ8zrRB52nhBgpdhktPLdch9O/Py7blkZneZAgaAK6keSt-ePL3pmys.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RJYwKZ8zrRB52nhBgpdhktPLdch9O/PKpE9ot8R5vjCxeGYSweApq_PWLJb.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RJYwKZ8zrRB52nhBgpdhktPLdch9O/PMtHsieZZbVGQHnarL-Qvr3Zeq8Gx.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RJYwKZ8zrRB52nhBgpdhktPLdch9O/PwWR77A7fR0TPA99gjoI2xdidmWYs.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RJYwKZ8zrRB52nhBgpdhktPLdch9O/Pzd39xfZyMYzNoM4tpPBRzXHx1hrJ.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RJYwKZ8zrRB52nhBgpdhktPLdch9O/PBApVd7EB_GhBkA6cImMBoGUeW2ic.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RJYwKZ8zrRB52nhBgpdhktPLdch9O/P8HIVywDyUhq2RMDhtyK9__s1NP_1.json'", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RmY3pq5ObPstWy42YpTSDZA048hbq/PI7Xl9HsdcTTQS0T0jw8amYAo5clB.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RmY3pq5ObPstWy42YpTSDZA048hbq/Pnv8Fy9BC7kP6wj3hbTXjKA592zfg.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RmY3pq5ObPstWy42YpTSDZA048hbq/PfbYSADfdJ4qHyeujnQc3EzuZVg0C.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RmY3pq5ObPstWy42YpTSDZA048hbq/PzaopLMpUoQJtHNjuS7yEFMD2DFK1.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RmY3pq5ObPstWy42YpTSDZA048hbq/Pf_1lrpDpnpqJOH1lDJ4Ibz7XwyCL.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RmY3pq5ObPstWy42YpTSDZA048hbq/P5LsxSX7MJj7dlURWK9oULUl7u6US.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RmY3pq5ObPstWy42YpTSDZA048hbq/PsI3ULeD_vpctsGEq2Ey5wbROLaOs.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RmY3pq5ObPstWy42YpTSDZA048hbq/PptxqAvUd8OzxVZ2AWkCmD9rZWkjL.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RmY3pq5ObPstWy42YpTSDZA048hbq/P9UTKINfOA9zVUH0YKH_pWa1DMRVQ.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RyO3MibROsxCF3lM3jQbA2dK8cypH/PPyNGHfszI_gUmqBZ1Oh6JgX-Ueq6.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RHn_RYeZW3CmpvM8hFlcCMd3JRbmw/PW9uGdh4xKf4TsRHz0E_PtJuUBA-U.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RmY3pq5ObPstWy42YpTSDZA048hbq/PPkeijaZi84zWu0yeiHv6n9karQJm.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RmY3pq5ObPstWy42YpTSDZA048hbq/PsGKqgCGNfoeXnjocc9iW4NhXL2HO.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RmY3pq5ObPstWy42YpTSDZA048hbq/PhBMppzNSFsWpPwISGZYMKWzdGDhi.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RmY3pq5ObPstWy42YpTSDZA048hbq/PcID4Mrluq6W-HCDbBbcArSuq7bzC.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RmY3pq5ObPstWy42YpTSDZA048hbq/PAwSz9me1oeNUjDmeQLLlzhf_CUa0.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RmY3pq5ObPstWy42YpTSDZA048hbq/P2oi-cNwyEypOCHdS1KBEFXUNd1tI.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RYUqsJ6gkChTVTXgp_JoXBRfxv8XD/Pe92DS7lBl27bEChvEBPlYlmidXD5.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RYUqsJ6gkChTVTXgp_JoXBRfxv8XD/PcO5IhtReNlS_2WMvrGPeynpW5XRI.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RYUqsJ6gkChTVTXgp_JoXBRfxv8XD/PDoKPWPAO2EDqm0mUSJ5KyUAYg6cs.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RYUqsJ6gkChTVTXgp_JoXBRfxv8XD/Pza1xu9t9gXGjisl77xhy5cJP1O_B.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RYUqsJ6gkChTVTXgp_JoXBRfxv8XD/PAHJ-PQulyWGcI1LgO7MlnmPigdZZ.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RyO3MibROsxCF3lM3jQbA2dK8cypH/P2TfRaDfMQWhogCF4IRDi6stXcz2z.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RyO3MibROsxCF3lM3jQbA2dK8cypH/PXuvt7KNOD70pg5x6DCtvwEfHcH7k.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RHn_RYeZW3CmpvM8hFlcCMd3JRbmw/PrI8xFN9zy-N7NYrdJ3Fv9e9Pb40q.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RHn_RYeZW3CmpvM8hFlcCMd3JRbmw/PUSHbSud_prQkvbW0fVIFV1oaDPxg.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RjQlikQ8XNJo9_GVWErwouli4AaM0/PGIFSXbNmFGSYvGGTeahdCSWpOxvq.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RjQlikQ8XNJo9_GVWErwouli4AaM0/PUydK0GTggoEOc4qiU4mbYLHzhwQ8.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RYUqsJ6gkChTVTXgp_JoXBRfxv8XD/PdjUAgF8z_DGfk3IJmbKuTYNR1-KW.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RyO3MibROsxCF3lM3jQbA2dK8cypH/PjsFS2cfJm-i4ihFYgvF0_IIUoDpd.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RjQlikQ8XNJo9_GVWErwouli4AaM0/Pebb8iPdchd2vEOhcFdewMmpFYoc-.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RQfQFCxwfPgEKNpYT0LjuOYqlVgBb/P6AQo1sQwOgeyHB57nVSSMqhsl9eR.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RYUqsJ6gkChTVTXgp_JoXBRfxv8XD/PVmcNFOlpkSyVL-lddKdY9q5tV1Sd.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RYUqsJ6gkChTVTXgp_JoXBRfxv8XD/PjPV3YdHq_agV7-7s9vgq9jCN5AVz.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RYUqsJ6gkChTVTXgp_JoXBRfxv8XD/Pkysi8p8LjoIv-lUGl7mh9zlI-F6Q.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RYUqsJ6gkChTVTXgp_JoXBRfxv8XD/PasKT8QpwVLZ9qFip-vqaO2W4d2v6.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RjQlikQ8XNJo9_GVWErwouli4AaM0/P4qAdNCan93PrSRUCc68CmSH8hhHk.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RjQlikQ8XNJo9_GVWErwouli4AaM0/PvpObEVnFYp8QnVhfthSGiSzDA9PP.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RjQlikQ8XNJo9_GVWErwouli4AaM0/PkEh-Q_XynNonKfTZFzBP1H42ftr8.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RyO3MibROsxCF3lM3jQbA2dK8cypH/PSOkxS-J80hCqKQ3bKCDo-KMV25Lc.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RyO3MibROsxCF3lM3jQbA2dK8cypH/PfaHzPX9cMHdJeWjfSEx6bpAlk0H_.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RyO3MibROsxCF3lM3jQbA2dK8cypH/PwWRClD0KD3h18R1zUl2i2jYQMoZG.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RHn_RYeZW3CmpvM8hFlcCMd3JRbmw/P8_yJEBKTbcJiSxg3GcoBFVLgGEwS.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RHn_RYeZW3CmpvM8hFlcCMd3JRbmw/PnZCjn3sxa9ueylmaeHk4zgOFNZ9l.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RjQlikQ8XNJo9_GVWErwouli4AaM0/PK986qZlKsKzUhWTWPO5S0bP-xUaN.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RjQlikQ8XNJo9_GVWErwouli4AaM0/PSz7keq8rVYn8ry9HHqOdn5grXt0k.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RyO3MibROsxCF3lM3jQbA2dK8cypH/P73l-ilfsPA4F3W9Vy8ZNx6oHTL5_.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RyO3MibROsxCF3lM3jQbA2dK8cypH/P5yJrdjSlWWkypKt8MWj8QSTox7QH.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RyO3MibROsxCF3lM3jQbA2dK8cypH/PHbAqVg_5ydw0Pz6HCrd5bZldJCKV.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RyO3MibROsxCF3lM3jQbA2dK8cypH/PzO5GsWGiztpNFP6lt3tjTFWZo3N1.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RHn_RYeZW3CmpvM8hFlcCMd3JRbmw/PjnvxurY1bCCjTUc5G8Fm1QGvWRaL.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RHn_RYeZW3CmpvM8hFlcCMd3JRbmw/PNEUyFIM3OTd4xIetfXxhifOTKVQI.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RjQlikQ8XNJo9_GVWErwouli4AaM0/PnavjAaJel-dlq7beA-pkkMiTPFnZ.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RjQlikQ8XNJo9_GVWErwouli4AaM0/PUQg2avDAuh6B4YYOSHmkKBJQNzQb.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RyO3MibROsxCF3lM3jQbA2dK8cypH/P80UTrcQv_wfUYWRkvOI74PB1zfEQ.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RyO3MibROsxCF3lM3jQbA2dK8cypH/PiUWoSFa2R32nGhiyVVp5AVMGk9Ih.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RyO3MibROsxCF3lM3jQbA2dK8cypH/Pym_523Pdb1qh8h2eBfDndmnFTjhO.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RHn_RYeZW3CmpvM8hFlcCMd3JRbmw/P6e0o51zzKW7yrCsW2zaXOl7NzcU8.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RHn_RYeZW3CmpvM8hFlcCMd3JRbmw/PLvMl6Tedb7aB9LUfP4mj1WhV8xwl.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RQfQFCxwfPgEKNpYT0LjuOYqlVgBb/P8WQZD2DMJmeM3Fkm52p6y2evmvP0.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RHn_RYeZW3CmpvM8hFlcCMd3JRbmw/PQ8lteEwZh56ekuf1Qx_IQjAJxn43.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RHn_RYeZW3CmpvM8hFlcCMd3JRbmw/Po-t_nv2J7dDBXi_j7CqFEn7YQkxV.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RjQlikQ8XNJo9_GVWErwouli4AaM0/Pod2xeCJo7TIMLkrH06Ol1T8zEg6k.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RjQlikQ8XNJo9_GVWErwouli4AaM0/Ptt0QSwgfQzye0CXf4norvVczljhk.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RHn_RYeZW3CmpvM8hFlcCMd3JRbmw/PKfRdBGnY8Q9IsBMUvCKQXriQjFN9.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RHn_RYeZW3CmpvM8hFlcCMd3JRbmw/PQ4iZH0LmZxSm-6fxnXkQ5-Klkw3E.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RHn_RYeZW3CmpvM8hFlcCMd3JRbmw/PrXuIXWhA4QoBr1Wj99UJk2z4qunb.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RjQlikQ8XNJo9_GVWErwouli4AaM0/PSfNgU3rN5f1cada95fT53JV9dIm-.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RjQlikQ8XNJo9_GVWErwouli4AaM0/P68scrUmO1sHynRPhT8T04EWOUt_7.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RjQlikQ8XNJo9_GVWErwouli4AaM0/PrDjKS0mCSuoVk7AFOdnF4DAImU4Q.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RjQlikQ8XNJo9_GVWErwouli4AaM0/PSIIikHWXVMvTopcwK6M7piwUdPn1.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RQfQFCxwfPgEKNpYT0LjuOYqlVgBb/P6keooYOEizoo7U4z8vaSpl9oWdI3.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RQfQFCxwfPgEKNpYT0LjuOYqlVgBb/PZt1_3w0Jw5BPAdIoWn9IfPlbL5cc.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RQfQFCxwfPgEKNpYT0LjuOYqlVgBb/PhbdAZUlltx2L7TXtLv04FcWozFAF.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RQfQFCxwfPgEKNpYT0LjuOYqlVgBb/P_iH3LRsR6UClLs2jxS2g9KY04Fr6.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RQfQFCxwfPgEKNpYT0LjuOYqlVgBb/P83_KMCjDSr_fhB-W5y7og1qqNlV8.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RQfQFCxwfPgEKNpYT0LjuOYqlVgBb/PA97xfgYCBcOv79C6WFNkyBEN2qfK.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RjQlikQ8XNJo9_GVWErwouli4AaM0/PqfwbNUsXoiExnzEdtQYm6jHZRAcB.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RQfQFCxwfPgEKNpYT0LjuOYqlVgBb/PDknkcHdj1-wDZMLUB8o9fnhLW4tb.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RQfQFCxwfPgEKNpYT0LjuOYqlVgBb/PJtimfqpeEIgBytuVpQUHOrSQlYcl.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RQfQFCxwfPgEKNpYT0LjuOYqlVgBb/PGDYHfOP28x-Jt7GkQR4KFeD0PEbD.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RQfQFCxwfPgEKNpYT0LjuOYqlVgBb/PKtDROIy4KYVHQ2RUfhoRXba_npMV.json'", "]", "", "json_list_CrB = [", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RtWXnFiiVtrVb-3TOz9-k-ogZr2-t/PSC_K9q2hfzDcaAGtFRyn_PLHBloG.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RtWXnFiiVtrVb-3TOz9-k-ogZr2-t/PR1Sj634F0Mv4bL6dHjnEAAJ4JDba.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RtWXnFiiVtrVb-3TOz9-k-ogZr2-t/PhpM0FELdHaTkpj5gTGhhACAJgg8o.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RtWXnFiiVtrVb-3TOz9-k-ogZr2-t/PS8d5rdlysN7445H8p4VuJULiE4MS.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RtWXnFiiVtrVb-3TOz9-k-ogZr2-t/PZ_dlOeubERAUZQ6KQQpQe_dH0F72.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RtWXnFiiVtrVb-3TOz9-k-ogZr2-t/P-QfEiQlgTaMaU3t-H4T6IHRqp3CD.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RtWXnFiiVtrVb-3TOz9-k-ogZr2-t/PTj1LWzzkxrneCrNOJ06QfMgrwD9w.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RtWXnFiiVtrVb-3TOz9-k-ogZr2-t/P1Q5xYiHj_IQ05TrXJAYIPtV1HQWS.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RtWXnFiiVtrVb-3TOz9-k-ogZr2-t/P3v4iODWzRMxVN03GmqzW-e7N4jAT.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RtWXnFiiVtrVb-3TOz9-k-ogZr2-t/PbaSbJF7UU4_sDuB8dcA81CR01C7_.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RtWXnFiiVtrVb-3TOz9-k-ogZr2-t/PCFfAyImacb9zM2nghsj1Bcil5rGq.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RtWXnFiiVtrVb-3TOz9-k-ogZr2-t/Pm6m3z7y--FLowSmF2LtFRm0UVn6m.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RtWXnFiiVtrVb-3TOz9-k-ogZr2-t/PvZ73PNlvtEqcYtfosOgM4SbN78Lf.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RtWXnFiiVtrVb-3TOz9-k-ogZr2-t/PTT5Ml0N_JRnPdHNO4drn5KmSrw-e.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RtWXnFiiVtrVb-3TOz9-k-ogZr2-t/PngYDIMXxtY2smAhLl2KAQdRmJ-8F.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RtWXnFiiVtrVb-3TOz9-k-ogZr2-t/PqnQiIlkkiVA2Fi50cYbE9SGWUTn-.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RtWXnFiiVtrVb-3TOz9-k-ogZr2-t/PGvyxy9emQVHxE5V2zT0UrNkI_hp2.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RtWXnFiiVtrVb-3TOz9-k-ogZr2-t/PZ-ABniI2ZLHZMlV5HOTwgUT6ryC-.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/R8NxZKmyWQlcHjSkv3A2ukl3l9vcU/P9CEP3FFGaNjBFnVcLRlKp1JQo0qw.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RtWXnFiiVtrVb-3TOz9-k-ogZr2-t/PfPdYofOVMm7oA5nU3nRcKMhKxc2v.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RtWXnFiiVtrVb-3TOz9-k-ogZr2-t/PH34SEPUHaCyxZASB49MvRxzj1VzD.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RtWXnFiiVtrVb-3TOz9-k-ogZr2-t/P5edb9xIGXwj4OrEvXiX8gB987oCl.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RtWXnFiiVtrVb-3TOz9-k-ogZr2-t/PvLSd_9ejLtxJXqDk7pCJvQweHdJr.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RtWXnFiiVtrVb-3TOz9-k-ogZr2-t/PZoZQUKz6m3817hex-REtNAz8d-CL.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RtWXnFiiVtrVb-3TOz9-k-ogZr2-t/PWL3sR53gGpmxIRoy5HAawIGmiPvn.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RtWXnFiiVtrVb-3TOz9-k-ogZr2-t/PUP7kY5_iJ4QM0XWjd7Gpju-DXMk7.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RtWXnFiiVtrVb-3TOz9-k-ogZr2-t/PpC9NPSNfUuedt1f4AlVVJNjJhT-6.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RtWXnFiiVtrVb-3TOz9-k-ogZr2-t/PiDmbXwMvzEpffaB08PvWg2RSJWDa.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RtWXnFiiVtrVb-3TOz9-k-ogZr2-t/P8GzPkERHyO76GajZe-_M7q1o9oWm.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RtWXnFiiVtrVb-3TOz9-k-ogZr2-t/PyyMp0nxGldd0d573c_KWkGDklkb5.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RtWXnFiiVtrVb-3TOz9-k-ogZr2-t/Pw_WdOT00qyLxpiiFdA6HzamS-KGd.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RtWXnFiiVtrVb-3TOz9-k-ogZr2-t/P6SgskdAJpirHWrBoGjU5cBNA9ExG.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/R8NxZKmyWQlcHjSkv3A2ukl3l9vcU/Pc-X6CASupWziE9sy5A_olIqMHNwR.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RtWXnFiiVtrVb-3TOz9-k-ogZr2-t/P5DUBl5GJxZX67Sbj-hWReqzxFa4v.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RtWXnFiiVtrVb-3TOz9-k-ogZr2-t/PwqUN4-x7bFzgc_lgBXay0YD8p7rC.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RtWXnFiiVtrVb-3TOz9-k-ogZr2-t/PVyhQoRUauLCfQnGnPM5My0RUh8-D.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RtWXnFiiVtrVb-3TOz9-k-ogZr2-t/PyTdvyCFcxXgiOiUQi0v9quzieogr.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RtWXnFiiVtrVb-3TOz9-k-ogZr2-t/PNfWF9Pr3kPSqoFpqvhkDZO1M6msX.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RtWXnFiiVtrVb-3TOz9-k-ogZr2-t/PC1tuFFeyFUNhqKACOVaacZfyqanH.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RtWXnFiiVtrVb-3TOz9-k-ogZr2-t/PSmlcAWl_ZdwM6selq1vY446wljHr.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RtWXnFiiVtrVb-3TOz9-k-ogZr2-t/P5E1rR2O-i5drtBN5qoK9CGm4JuIl.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RtWXnFiiVtrVb-3TOz9-k-ogZr2-t/PpZSVskR8jk7zorA2SWbTqk0aKKu9.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RtWXnFiiVtrVb-3TOz9-k-ogZr2-t/PGYVXnq86HRbq27IP1AW1nV-8M12f.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RtWXnFiiVtrVb-3TOz9-k-ogZr2-t/PGun8u66B_l8MiGSDv4tCw6eRn1yJ.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RtWXnFiiVtrVb-3TOz9-k-ogZr2-t/PJbuZS3QxLYTl2ZLsQmKUXI4ZWmSb.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RtWXnFiiVtrVb-3TOz9-k-ogZr2-t/PZXpqUGkrePauuPSmzqS9FDE_0Mkc.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RtWXnFiiVtrVb-3TOz9-k-ogZr2-t/PqyJwaNrmKqMdUViLqNN0WpvsjJMW.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RtWXnFiiVtrVb-3TOz9-k-ogZr2-t/PikarIiBW3TXN5SQoDwxJy-k34DNz.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RtWXnFiiVtrVb-3TOz9-k-ogZr2-t/PyxC4tQgRreOKcBAqa7pdbNOjiL2k.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RtWXnFiiVtrVb-3TOz9-k-ogZr2-t/PAz9Q4JFakgyhFms7d9VVtQG8x7Qp.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RtWXnFiiVtrVb-3TOz9-k-ogZr2-t/PQgAuljpyqPeRqnR21TJZmZGH9MOU.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RtWXnFiiVtrVb-3TOz9-k-ogZr2-t/PzCelFywZLQNDfooyDoKTiupFujhr.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RtWXnFiiVtrVb-3TOz9-k-ogZr2-t/PrnxjLdYvMn0ckdpD48dn6LSLlFdI.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RtWXnFiiVtrVb-3TOz9-k-ogZr2-t/PkXPLXBR099RxguAJfeKLx78MofMA.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RtWXnFiiVtrVb-3TOz9-k-ogZr2-t/P6WMd8iNYzawbcJf3T7zl1LSygG2o.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RtWXnFiiVtrVb-3TOz9-k-ogZr2-t/PEENX2U9C6-qZA2hHyzbGB8fLVNFw.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RtWXnFiiVtrVb-3TOz9-k-ogZr2-t/P1ZaGUSq5auh7ETETQXCGbfwTc5G0.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RtWXnFiiVtrVb-3TOz9-k-ogZr2-t/P_6n8-42taBOzwHql88Hcj3uMTUcJ.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RtWXnFiiVtrVb-3TOz9-k-ogZr2-t/PFMWeso1xXvtKwNT8-_j9ZKUWcUfF.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RtWXnFiiVtrVb-3TOz9-k-ogZr2-t/PJ_O-2QByC6hNMEIhtt5UxnPfCzuZ.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RtWXnFiiVtrVb-3TOz9-k-ogZr2-t/PCqh0ieDA6A8JtStxEPYl4f0sn7kL.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RtWXnFiiVtrVb-3TOz9-k-ogZr2-t/PQRvCLGtYtFi-iUqylv9gxWKFVZyN.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RtWXnFiiVtrVb-3TOz9-k-ogZr2-t/P1mP2rrgMgFL2Jh8bpsVUhIuA1Abh.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RtWXnFiiVtrVb-3TOz9-k-ogZr2-t/PduJgHCKw3ie13r-y26cr7bHeNC8D.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RtWXnFiiVtrVb-3TOz9-k-ogZr2-t/PZJG4hgqinlpXOh65-J7OcvNPq5qT.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RtWXnFiiVtrVb-3TOz9-k-ogZr2-t/P34o7W2yErNrMo8lYKoUwTQMj6xaC.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RtWXnFiiVtrVb-3TOz9-k-ogZr2-t/PJAurJCC19JJB7kiNQSCegbKMlvgj.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RtWXnFiiVtrVb-3TOz9-k-ogZr2-t/P1Fr3ujHO-bzO60rBUIAJKFE-uH3c.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RtWXnFiiVtrVb-3TOz9-k-ogZr2-t/P0YaujTnEsKIl8S5rgkCpkkDzq5Ex.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RtWXnFiiVtrVb-3TOz9-k-ogZr2-t/P2_ApIqoK5l4CzxBWbmDGaF70Revm.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RtWXnFiiVtrVb-3TOz9-k-ogZr2-t/P0n3dj73sLcDysQCpq6oidBRDcpji.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RtWXnFiiVtrVb-3TOz9-k-ogZr2-t/Pg1_j-j62C6IHV77CrCsJrpB0HVX1.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RtWXnFiiVtrVb-3TOz9-k-ogZr2-t/P1n6wAD8biF9V2jxg108exDWyimBC.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RtWXnFiiVtrVb-3TOz9-k-ogZr2-t/P4yGX8shyBMvC1NNZEtDcz7qkYo7w.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RtWXnFiiVtrVb-3TOz9-k-ogZr2-t/PS8-Qv7N2kCKONdZmesS1w_Tausnz.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RtWXnFiiVtrVb-3TOz9-k-ogZr2-t/PcbZStKVRBBwjdBQsmIjYkXoiFcdT.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RtWXnFiiVtrVb-3TOz9-k-ogZr2-t/PPNfqOn3-H1S-OkwjTCUA3-2xOE6J.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RtWXnFiiVtrVb-3TOz9-k-ogZr2-t/P5kIJZn1GeEgprRouYLEkIN-fg3C2.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RtWXnFiiVtrVb-3TOz9-k-ogZr2-t/PIpmcuIBHiIJC4Lqs2R0sv9qyvL-u.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RtWXnFiiVtrVb-3TOz9-k-ogZr2-t/Pdcr6Adm1jZz-oisSZdbBH1Qwq7nF.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RtWXnFiiVtrVb-3TOz9-k-ogZr2-t/PY7l7lhAx7h9mjAMHhGVBrlNfHUXL.json',", - "'/parsed/prod-022/FhiAimsParser2.0.0-2-gf9335c4/RtWXnFiiVtrVb-3TOz9-k-ogZr2-t/PhVVJJOydBaE8d2tVngRXEYiX0520.json'", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RtWXnFiiVtrVb-3TOz9-k-ogZr2-t/PSC_K9q2hfzDcaAGtFRyn_PLHBloG.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RtWXnFiiVtrVb-3TOz9-k-ogZr2-t/PR1Sj634F0Mv4bL6dHjnEAAJ4JDba.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RtWXnFiiVtrVb-3TOz9-k-ogZr2-t/PhpM0FELdHaTkpj5gTGhhACAJgg8o.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RtWXnFiiVtrVb-3TOz9-k-ogZr2-t/PS8d5rdlysN7445H8p4VuJULiE4MS.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RtWXnFiiVtrVb-3TOz9-k-ogZr2-t/PZ_dlOeubERAUZQ6KQQpQe_dH0F72.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RtWXnFiiVtrVb-3TOz9-k-ogZr2-t/P-QfEiQlgTaMaU3t-H4T6IHRqp3CD.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RtWXnFiiVtrVb-3TOz9-k-ogZr2-t/PTj1LWzzkxrneCrNOJ06QfMgrwD9w.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RtWXnFiiVtrVb-3TOz9-k-ogZr2-t/P1Q5xYiHj_IQ05TrXJAYIPtV1HQWS.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RtWXnFiiVtrVb-3TOz9-k-ogZr2-t/P3v4iODWzRMxVN03GmqzW-e7N4jAT.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RtWXnFiiVtrVb-3TOz9-k-ogZr2-t/PbaSbJF7UU4_sDuB8dcA81CR01C7_.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RtWXnFiiVtrVb-3TOz9-k-ogZr2-t/PCFfAyImacb9zM2nghsj1Bcil5rGq.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RtWXnFiiVtrVb-3TOz9-k-ogZr2-t/Pm6m3z7y--FLowSmF2LtFRm0UVn6m.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RtWXnFiiVtrVb-3TOz9-k-ogZr2-t/PvZ73PNlvtEqcYtfosOgM4SbN78Lf.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RtWXnFiiVtrVb-3TOz9-k-ogZr2-t/PTT5Ml0N_JRnPdHNO4drn5KmSrw-e.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RtWXnFiiVtrVb-3TOz9-k-ogZr2-t/PngYDIMXxtY2smAhLl2KAQdRmJ-8F.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RtWXnFiiVtrVb-3TOz9-k-ogZr2-t/PqnQiIlkkiVA2Fi50cYbE9SGWUTn-.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RtWXnFiiVtrVb-3TOz9-k-ogZr2-t/PGvyxy9emQVHxE5V2zT0UrNkI_hp2.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RtWXnFiiVtrVb-3TOz9-k-ogZr2-t/PZ-ABniI2ZLHZMlV5HOTwgUT6ryC-.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/R8NxZKmyWQlcHjSkv3A2ukl3l9vcU/P9CEP3FFGaNjBFnVcLRlKp1JQo0qw.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RtWXnFiiVtrVb-3TOz9-k-ogZr2-t/PfPdYofOVMm7oA5nU3nRcKMhKxc2v.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RtWXnFiiVtrVb-3TOz9-k-ogZr2-t/PH34SEPUHaCyxZASB49MvRxzj1VzD.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RtWXnFiiVtrVb-3TOz9-k-ogZr2-t/P5edb9xIGXwj4OrEvXiX8gB987oCl.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RtWXnFiiVtrVb-3TOz9-k-ogZr2-t/PvLSd_9ejLtxJXqDk7pCJvQweHdJr.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RtWXnFiiVtrVb-3TOz9-k-ogZr2-t/PZoZQUKz6m3817hex-REtNAz8d-CL.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RtWXnFiiVtrVb-3TOz9-k-ogZr2-t/PWL3sR53gGpmxIRoy5HAawIGmiPvn.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RtWXnFiiVtrVb-3TOz9-k-ogZr2-t/PUP7kY5_iJ4QM0XWjd7Gpju-DXMk7.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RtWXnFiiVtrVb-3TOz9-k-ogZr2-t/PpC9NPSNfUuedt1f4AlVVJNjJhT-6.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RtWXnFiiVtrVb-3TOz9-k-ogZr2-t/PiDmbXwMvzEpffaB08PvWg2RSJWDa.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RtWXnFiiVtrVb-3TOz9-k-ogZr2-t/P8GzPkERHyO76GajZe-_M7q1o9oWm.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RtWXnFiiVtrVb-3TOz9-k-ogZr2-t/PyyMp0nxGldd0d573c_KWkGDklkb5.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RtWXnFiiVtrVb-3TOz9-k-ogZr2-t/Pw_WdOT00qyLxpiiFdA6HzamS-KGd.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RtWXnFiiVtrVb-3TOz9-k-ogZr2-t/P6SgskdAJpirHWrBoGjU5cBNA9ExG.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/R8NxZKmyWQlcHjSkv3A2ukl3l9vcU/Pc-X6CASupWziE9sy5A_olIqMHNwR.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RtWXnFiiVtrVb-3TOz9-k-ogZr2-t/P5DUBl5GJxZX67Sbj-hWReqzxFa4v.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RtWXnFiiVtrVb-3TOz9-k-ogZr2-t/PwqUN4-x7bFzgc_lgBXay0YD8p7rC.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RtWXnFiiVtrVb-3TOz9-k-ogZr2-t/PVyhQoRUauLCfQnGnPM5My0RUh8-D.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RtWXnFiiVtrVb-3TOz9-k-ogZr2-t/PyTdvyCFcxXgiOiUQi0v9quzieogr.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RtWXnFiiVtrVb-3TOz9-k-ogZr2-t/PNfWF9Pr3kPSqoFpqvhkDZO1M6msX.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RtWXnFiiVtrVb-3TOz9-k-ogZr2-t/PC1tuFFeyFUNhqKACOVaacZfyqanH.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RtWXnFiiVtrVb-3TOz9-k-ogZr2-t/PSmlcAWl_ZdwM6selq1vY446wljHr.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RtWXnFiiVtrVb-3TOz9-k-ogZr2-t/P5E1rR2O-i5drtBN5qoK9CGm4JuIl.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RtWXnFiiVtrVb-3TOz9-k-ogZr2-t/PpZSVskR8jk7zorA2SWbTqk0aKKu9.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RtWXnFiiVtrVb-3TOz9-k-ogZr2-t/PGYVXnq86HRbq27IP1AW1nV-8M12f.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RtWXnFiiVtrVb-3TOz9-k-ogZr2-t/PGun8u66B_l8MiGSDv4tCw6eRn1yJ.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RtWXnFiiVtrVb-3TOz9-k-ogZr2-t/PJbuZS3QxLYTl2ZLsQmKUXI4ZWmSb.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RtWXnFiiVtrVb-3TOz9-k-ogZr2-t/PZXpqUGkrePauuPSmzqS9FDE_0Mkc.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RtWXnFiiVtrVb-3TOz9-k-ogZr2-t/PqyJwaNrmKqMdUViLqNN0WpvsjJMW.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RtWXnFiiVtrVb-3TOz9-k-ogZr2-t/PikarIiBW3TXN5SQoDwxJy-k34DNz.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RtWXnFiiVtrVb-3TOz9-k-ogZr2-t/PyxC4tQgRreOKcBAqa7pdbNOjiL2k.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RtWXnFiiVtrVb-3TOz9-k-ogZr2-t/PAz9Q4JFakgyhFms7d9VVtQG8x7Qp.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RtWXnFiiVtrVb-3TOz9-k-ogZr2-t/PQgAuljpyqPeRqnR21TJZmZGH9MOU.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RtWXnFiiVtrVb-3TOz9-k-ogZr2-t/PzCelFywZLQNDfooyDoKTiupFujhr.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RtWXnFiiVtrVb-3TOz9-k-ogZr2-t/PrnxjLdYvMn0ckdpD48dn6LSLlFdI.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RtWXnFiiVtrVb-3TOz9-k-ogZr2-t/PkXPLXBR099RxguAJfeKLx78MofMA.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RtWXnFiiVtrVb-3TOz9-k-ogZr2-t/P6WMd8iNYzawbcJf3T7zl1LSygG2o.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RtWXnFiiVtrVb-3TOz9-k-ogZr2-t/PEENX2U9C6-qZA2hHyzbGB8fLVNFw.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RtWXnFiiVtrVb-3TOz9-k-ogZr2-t/P1ZaGUSq5auh7ETETQXCGbfwTc5G0.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RtWXnFiiVtrVb-3TOz9-k-ogZr2-t/P_6n8-42taBOzwHql88Hcj3uMTUcJ.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RtWXnFiiVtrVb-3TOz9-k-ogZr2-t/PFMWeso1xXvtKwNT8-_j9ZKUWcUfF.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RtWXnFiiVtrVb-3TOz9-k-ogZr2-t/PJ_O-2QByC6hNMEIhtt5UxnPfCzuZ.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RtWXnFiiVtrVb-3TOz9-k-ogZr2-t/PCqh0ieDA6A8JtStxEPYl4f0sn7kL.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RtWXnFiiVtrVb-3TOz9-k-ogZr2-t/PQRvCLGtYtFi-iUqylv9gxWKFVZyN.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RtWXnFiiVtrVb-3TOz9-k-ogZr2-t/P1mP2rrgMgFL2Jh8bpsVUhIuA1Abh.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RtWXnFiiVtrVb-3TOz9-k-ogZr2-t/PduJgHCKw3ie13r-y26cr7bHeNC8D.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RtWXnFiiVtrVb-3TOz9-k-ogZr2-t/PZJG4hgqinlpXOh65-J7OcvNPq5qT.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RtWXnFiiVtrVb-3TOz9-k-ogZr2-t/P34o7W2yErNrMo8lYKoUwTQMj6xaC.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RtWXnFiiVtrVb-3TOz9-k-ogZr2-t/PJAurJCC19JJB7kiNQSCegbKMlvgj.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RtWXnFiiVtrVb-3TOz9-k-ogZr2-t/P1Fr3ujHO-bzO60rBUIAJKFE-uH3c.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RtWXnFiiVtrVb-3TOz9-k-ogZr2-t/P0YaujTnEsKIl8S5rgkCpkkDzq5Ex.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RtWXnFiiVtrVb-3TOz9-k-ogZr2-t/P2_ApIqoK5l4CzxBWbmDGaF70Revm.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RtWXnFiiVtrVb-3TOz9-k-ogZr2-t/P0n3dj73sLcDysQCpq6oidBRDcpji.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RtWXnFiiVtrVb-3TOz9-k-ogZr2-t/Pg1_j-j62C6IHV77CrCsJrpB0HVX1.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RtWXnFiiVtrVb-3TOz9-k-ogZr2-t/P1n6wAD8biF9V2jxg108exDWyimBC.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RtWXnFiiVtrVb-3TOz9-k-ogZr2-t/P4yGX8shyBMvC1NNZEtDcz7qkYo7w.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RtWXnFiiVtrVb-3TOz9-k-ogZr2-t/PS8-Qv7N2kCKONdZmesS1w_Tausnz.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RtWXnFiiVtrVb-3TOz9-k-ogZr2-t/PcbZStKVRBBwjdBQsmIjYkXoiFcdT.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RtWXnFiiVtrVb-3TOz9-k-ogZr2-t/PPNfqOn3-H1S-OkwjTCUA3-2xOE6J.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RtWXnFiiVtrVb-3TOz9-k-ogZr2-t/P5kIJZn1GeEgprRouYLEkIN-fg3C2.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RtWXnFiiVtrVb-3TOz9-k-ogZr2-t/PIpmcuIBHiIJC4Lqs2R0sv9qyvL-u.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RtWXnFiiVtrVb-3TOz9-k-ogZr2-t/Pdcr6Adm1jZz-oisSZdbBH1Qwq7nF.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RtWXnFiiVtrVb-3TOz9-k-ogZr2-t/PY7l7lhAx7h9mjAMHhGVBrlNfHUXL.json',", + "'/parsed/production/FhiAimsParser2.0.0-17-g1384da3/RtWXnFiiVtrVb-3TOz9-k-ogZr2-t/PhVVJJOydBaE8d2tVngRXEYiX0520.json'", "]", "", "json_dict = dict(zip(['RS', 'ZB', 'CsCl', 'NiAs', 'CrB'],[json_list_RS, json_list_ZB, json_list_CsCl, json_list_NiAs, json_list_CrB]))" - ], - "hidden": true + ] }, "output": { "state": {}, "selectedType": "Hidden", "pluginName": "IPython", - "shellId": "109035019D6148B2917DFA4522E8810D", - "elapsedTime": 571 + "shellId": "769AC1053A474D139637EBFAD311D374" }, "evaluatorReader": true, "lineCount": 428 }, + { + "id": "markdownwHVm7G", + "type": "markdown", + "body": [ + "Load the structures into the dictionary 'nomad_structure_dict' using the 'NOMADStructure' class." + ], + "evaluatorReader": false + }, { "id": "code9DNMj4", "type": "code", @@ -6180,19 +2275,26 @@ "body": [ "from nomad_sim.nomad_structures import NOMADStructure", "", - "nomad_structure_dict = {struc_name: [NOMADStructure(in_file=json_path, file_format='NOMAD', take_first='False') for json_path in json_list] for struc_name, json_list in json_dict.iteritems()}" + "nomad_structure_dict = {struc_name: [NOMADStructure(in_file=json_path, file_format='NOMAD', take_first=False) for json_path in json_list] for struc_name, json_list in json_dict.iteritems()}" ] }, "output": { "state": {}, "selectedType": "Hidden", "pluginName": "IPython", - "shellId": "109035019D6148B2917DFA4522E8810D", - "elapsedTime": 7548 + "shellId": "769AC1053A474D139637EBFAD311D374" }, "evaluatorReader": true, "lineCount": 3 }, + { + "id": "markdownHqjyzb", + "type": "markdown", + "body": [ + "In the following, the function 'get_data_for_classification' is defined to provide the arrays needed for the compressed sensing. It ranks the five structures by their energies and keeps only the one with the minimum energy for each compound. Since the function is quite technical you can ignore it (but click run)." + ], + "evaluatorReader": false + }, { "id": "codebFz4WW", "type": "code", @@ -6202,11 +2304,10 @@ "from nomad_sim.utils_binaries import get_chemical_formula_binaries", "import pandas as pd", "from itertools import product", - "compound_to_min_struc_dict= {'BaTe': 'RS', 'CsF': 'RS', 'ClLi': 'RS', 'CSn': 'ZB', 'BN': 'ZB', 'CdS': 'ZB', 'MgO': 'RS', 'ClCu': 'ZB', 'ClNa': 'RS', 'BeSe': 'ZB', 'MgS': 'RS', 'BrK': 'RS', 'AlAs': 'ZB', 'BP': 'ZB', 'MgSe': 'RS', 'SiSn': 'ZB', 'CdSe': 'ZB', 'BSb': 'ZB', 'FLi': 'RS', 'AsIn': 'ZB', 'CsI': 'CsCl', 'CaTe': 'RS', 'BeO': 'ZB', 'Sn2': 'ZB', 'AsB': 'ZB', 'INa': 'RS', 'ILi': 'NiAs', 'GeSi': 'ZB', 'ClCs': 'CsCl', 'CSi': 'ZB', 'CuF': 'CrB', 'AgCl': 'NiAs', 'InSb': 'ZB', 'SeSr': 'RS', 'AgBr': 'NiAs', 'TeZn': 'ZB', 'CuI': 'ZB', 'AlN': 'ZB', 'AsGa': 'ZB', 'GaSb': 'ZB', 'Si2': 'ZB', 'BaO': 'RS', 'C2': 'ZB', 'ClK': 'RS', 'CdO': 'RS', 'InP': 'ZB', 'InN': 'ZB', 'BaSe': 'RS', 'BrCu': 'ZB', 'ClRb': 'RS', 'BeTe': 'ZB', 'BeS': 'ZB', 'CdTe': 'ZB', 'BrLi': 'RS', 'BrRb': 'CsCl', 'GaP': 'ZB', 'MgTe': 'NiAs', 'AlP': 'ZB', 'BrNa': 'RS', 'CaSe': 'RS', 'CGe': 'ZB', 'Ge2': 'ZB', 'FK': 'RS', 'AgI': 'ZB', 'GaN': 'ZB', 'CaS': 'RS', 'AgF': 'CrB', 'IK': 'RS', 'FNa': 'RS', 'OZn': 'ZB', 'OSr': 'RS', 'BaS': 'RS', 'SZn': 'ZB', 'SSr': 'RS', 'BrCs': 'CsCl', 'GeSn': 'ZB', 'CaO': 'RS', 'IRb': 'CsCl', 'SeZn': 'ZB', 'FRb': 'RS', 'AlSb': 'ZB', 'SrTe': 'RS'}", - "Structures_names = ['ZB', 'RS', 'CsCl', 'NiAs', 'CrB']", + "Structure_names = ['ZB', 'RS', 'CsCl', 'NiAs', 'CrB']", "", "def get_data_for_classification(selected_feature_list):", - " nomad_structure_list_2 = [json_path for json_list in nomad_structure_dict.values() for json_path in json_list]", + " nomad_structure_list_2 = [nomad_structure_dict[struc][n] for struc, n in product(Structure_names, range(82))]", " kwargs = {", " 'nomad_structure_list': nomad_structure_list_2,", " 'selected_feature_list': selected_feature_list,", @@ -6216,28 +2317,46 @@ " 'energy_unit': 'eV',", " 'length_unit': 'angstrom' ", " }", - "", " df_desc = get_descriptors(**kwargs)", " ", - " K = {}", - " for struc, n in product(Structures_names, range(82)):", - " nomad_structure = nomad_structure_dict[struc][n]", - " chemical_formula = get_chemical_formula_binaries(nomad_structure.atoms[0,0])", - " json_path = nomad_structure.in_file", - " if compound_to_min_struc_dict[chemical_formula] == struc:", - " K.update({chemical_formula:[struc,json_path]})", - " ", - " df_P = pd.DataFrame(K, index = ['structure','json_path']).transpose()", - " df_P['structure'] = pd.Categorical(df_P['structure'], categories=Structures_names, ordered=True)", - " df_P = df_P.sort('structure')", - " compound_list = df_P.index.tolist()", + " # create data frame", + " json_paths = [nomad_structure_dict[struc][n].in_file for struc, n in product(Structure_names, range(82))]", + " structures = [struc for struc, n in product(Structure_names, range(82))]", + " chemical_formula_list = [get_chemical_formula_binaries(nomad_structure_dict[struc][n].atoms[0,0]) for struc, n in product(Structure_names, range(82))]", + " energy_list = [nomad_structure_dict[struc][n].energy_total__eV[0,0] / len(nomad_structure_dict[struc][n].atoms[0,0]) for struc, n in product(Structure_names, range(82))]", + " space_group_list = [nomad_structure_dict[struc][n].spacegroup_analyzer[0,0].get_space_group_number() for struc, n in product(Structure_names, range(82))]", + " data = zip(chemical_formula_list, energy_list, structures, json_paths)", + " df_P = pd.DataFrame(data, columns = ['chemical_formula', 'energy','structure', 'json_path'])", " ", - " df_desc = df_desc.reindex(compound_list) ", - " P = [ df_P[df_P['structure']==s].index.tolist() for s in Structures_names]", + " # keep only lowest energy structure per compound and sort by structure", + " df_P = df_P.sort_values(by='energy').groupby(['chemical_formula'], as_index=True).first() ", + " df_P['structure'] = pd.Categorical(df_P['structure'], categories=Structure_names, ordered=True)", + " df_P = df_P.sort_values('structure')", " ", - " D = df_desc.values", + " # outputs: P is list of integers were each integere stands for class/structure_name", + " P = [i_class for struc in df_P['structure'].tolist() for i_class, structure_name in enumerate(Structure_names) if struc == structure_name]", + " compound_list = df_P.index.tolist() ", + " df_desc = df_desc.reindex(compound_list) ", + " D = df_desc.values ", " feature_list = df_desc.columns.tolist()", " json_paths = df_P['json_path'].tolist()", + "", + " # replace long names by short names in the feature list", + " longname = [feature.split('(', 1)[0] for feature in feature_list]", + " ", + " # in for lop to allow exception", + " shortname = []", + " for feature in longname:", + " try:", + " shortname.append(metadata_info[str(feature)]['shortname'])", + " except:", + " shortname.append(feature)", + "", + " shortnames_dict = dict(zip(longname, shortname))", + " ", + " for fullname, shortname in shortnames_dict.items():", + " feature_list = [item.replace(fullname.lower(), shortname) for item in feature_list]", + "", " return P, D,feature_list, compound_list, json_paths" ] }, @@ -6245,8 +2364,7 @@ "state": {}, "selectedType": "Hidden", "pluginName": "IPython", - "shellId": "109035019D6148B2917DFA4522E8810D", - "elapsedTime": 633, + "shellId": "769AC1053A474D139637EBFAD311D374", "height": 122, "dataresult": [ [ @@ -7192,7 +3310,57 @@ ] }, "evaluatorReader": true, - "lineCount": 40 + "lineCount": 57 + }, + { + "id": "markdown5Rqt2r", + "type": "markdown", + "body": [ + "Now, the target property is filled with integers representing the structure types:" + ], + "evaluatorReader": false + }, + { + "id": "code2xYgpo", + "type": "code", + "evaluator": "IPython", + "input": { + "body": [ + "selected_feature_list = ['atomic_rs_max', 'atomic_rp_max','atomic_rd_max']", + "P, D, feature_list, compound_list, json_paths = get_data_for_classification(selected_feature_list)", + "print np.array(P)", + "print np.array(Structure_names)[P]", + "print np.array(compound_list)" + ] + }, + "output": { + "state": {}, + "selectedType": "Results", + "pluginName": "IPython", + "shellId": "AE14887BDDCE4C8B8708CA8A0D625B4A", + "height": 0 + }, + "evaluatorReader": true, + "lineCount": 5 + }, + { + "id": "markdownysGoZz", + "type": "markdown", + "body": [ + "In the following, you can specify the primary features, the arithmetic operations for the feature construction and some further parameters needed for the SISSO code:", + "", + "<ul>", + "<li> 'rung': Number of iterations for the construction of the feature space: How often the selected operations are applied to build the feature space. At each step the operations are applied on all features created until the current step. </li>", + "<li> 'desc_dim': Dimension of optimal descriptor: Number of SIS iterations. (at the moment only 2D available)</li>", + "<li> 'subs_sis' : Number of collected features per SIS iteration.</li>", + "<li> 'ptype': 'quali' for classification and 'quanti' for regression.</li>", + "</ul> ", + "", + "As the derived features are created by the SISSO code, 'allowed_operations' is specified in 'SIS_parameters', now. Thus, we will pass only a descriptor matrix $\\mathbf{D}$ of primary features to the SISSO code. Note that the SISSO code will not be declared in the notebook. Instead, we will import and use the class SIS which will create the files needed by the SIS+$\\ell_0$ code and let the calculations run on a remote system. ", + "", + "Specify your settings and click 'CALCULATE' ('Run' is not needed). This will run all cells below performing the SISSO and generating a 2D structure map with the found 2D descriptor. Afterwards you can view the 2D map by clicking 'View interactive 2D scatter plot'. Note the 'Number of samples in overlap regions' in the SISSO output (three cells after this) and investigate if the parameter 'subs_sis' influences the results. You do not need to investigate codes." + ], + "evaluatorReader": false }, { "id": "codeLCPOGS", @@ -7201,16 +3369,19 @@ "input": { "body": [ "<script>", - "var run_lasso = function() {", + "var run_sis = function() {", " $(\"#sis_result_button\").removeClass(\"active\").addClass(\"disabled\");", " beaker.evaluate(\"calc_SIS_cell\"); // evaluate cells with tag \"lasso_cell\"", - " // view_result()", + "beaker.view_result = function(result_link) {", + " $(\"#sis_result_button\").attr(\"href\", result_link);", + " $(\"#sis_result_button\").removeClass(\"disabled\").addClass(\"active\");", + "}", "};", "</script>", "", "<div class=\"sis_plot\">", " <p style=\"margin-top: 1ex;\"></p>", - " <button class=\"btn btn-default\" onclick='run_lasso()' style=\"font-weight: bold;\">RUN</button> ", + " <button class=\"btn btn-default\" onclick='run_sis()' style=\"font-weight: bold;\">CALCULATE</button> ", " <label title=\"This button becomes active when the", "run is finished. By clicking it, an interactive plot of the first 2", "dimensions of the optimized descriptor will be opened\"> ", @@ -7221,17 +3392,18 @@ }, "output": { "state": {}, + "selectedType": "BeakerDisplay", + "height": 0, "result": { "type": "BeakerDisplay", "innertype": "Html", - "object": "<script>\nvar beaker = bkHelper.getBeakerObject().beakerObj;\n</script>\n<script>\nvar run_lasso = function() {\n $(\"#sis_result_button\").removeClass(\"active\").addClass(\"disabled\");\n beaker.evaluate(\"calc_SIS_cell\"); // evaluate cells with tag \"lasso_cell\"\n // view_result()\n};\n</script>\n\n<div class=\"sis_plot\">\n <p style=\"margin-top: 1ex;\"></p>\n <button class=\"btn btn-default\" onclick=\"run_lasso()\" style=\"font-weight: bold;\">RUN</button> \n <label title=\"This button becomes active when the\nrun is finished. By clicking it, an interactive plot of the first 2\ndimensions of the optimized descriptor will be opened\"> \n <a href=\"/user/tmp/94a132a4b0a2edb1.html\" target=\"_blank\" class=\"btn btn-primary active\" id=\"sis_result_button\">View interactive 2D scatter plot</a> </label>\n</div>" + "object": "<script>\nvar beaker = bkHelper.getBeakerObject().beakerObj;\n</script>\n<script>\nvar run_sis = function() {\n $(\"#sis_result_button\").removeClass(\"active\").addClass(\"disabled\");\n beaker.evaluate(\"calc_SIS_cell\"); // evaluate cells with tag \"lasso_cell\"\nbeaker.view_result = function(result_link) {\n $(\"#sis_result_button\").attr(\"href\", result_link);\n $(\"#sis_result_button\").removeClass(\"disabled\").addClass(\"active\");\n}\n};\n</script>\n\n<div class=\"sis_plot\">\n <p style=\"margin-top: 1ex;\"></p>\n <button class=\"btn btn-default\" onclick=\"run_sis()\" style=\"font-weight: bold;\">CALCULATE</button> \n <label title=\"This button becomes active when the\nrun is finished. By clicking it, an interactive plot of the first 2\ndimensions of the optimized descriptor will be opened\"> \n <a href=\"#\" target=\"_blank\" class=\"btn btn-primary disabled\" id=\"sis_result_button\">View interactive 2D scatter plot</a> </label>\n</div>" }, - "selectedType": "BeakerDisplay", - "elapsedTime": 0, - "height": 87 + "elapsedTime": 0 }, "evaluatorReader": true, - "lineCount": 16 + "lineCount": 19, + "initialization": true }, { "id": "codeVPbetp", @@ -7239,55 +3411,67 @@ "evaluator": "IPython", "input": { "body": [ + "# SETTINGS", + "#", + "# allowed settings:", + "# operations: '+','-','*','/','log','^-1','^2','^3','sqrt','|-|'", + "# features: \"atomic_ionization_potential\", \"atomic_electron_affinity\", \"atomic_homo\", \"atomic_lumo\", \"atomic_rs_max\", \"atomic_rp_max\", \"atomic_rd_max\", \"atomic_number\", \"period\"", + "# subs_sis: < 301 (limited for this tutorial)", + "# desc_dim : 2", + "# rung: 2", + "", + "", + "", "selected_feature_list = ['atomic_rs_max', 'atomic_rp_max','atomic_rd_max']", - "allowed_operations = ['+','-','*','/','log','^-1','^2','^3','sqrt','|-|']", - "Structures_names = ['ZB', 'RS', 'CsCl', 'NiAs', 'CrB']", "P, D, feature_list, compound_list, json_paths = get_data_for_classification(selected_feature_list)", "", + "allowed_operations = ['+','-','*','/','log','^-1','^2','^3','sqrt','|-|']", "SIS_parameters = {", " 'rung' :2,", " 'opset' : allowed_operations,", " 'desc_dim' : 2,", - " 'subs_sis' : 10,", - " 'ptyp':'quali'", - "}", - "", - "# Now P is a list of lists with chemical formulas", - "for n_p, p in enumerate(P):", - " print Structures_names[n_p], np.array(p)" + " 'subs_sis' : 100,", + " 'ptype':'quali'", + "}" ] }, "output": { "state": {}, - "result": { - "type": "Results", - "outputdata": [ - { - "type": "err", - "value": "WARNING: No allowed operations selected.\n" - }, - { - "type": "err", - "value": "INFO: Number of total features generated: 6\n" - }, - { - "type": "out", - "value": "ZB ['TeZn' 'BrCu' 'SZn' 'OZn' 'SeZn' 'C2' 'CGe' 'CSi' 'CSn' 'Si2' 'GeSn' 'Ge2'\n 'CdS' 'CdSe' 'CdTe' 'GaSb' 'ClCu' 'GaP' 'GaN' 'GeSi' 'BeTe' 'InN' 'BeS'\n 'Sn2' 'SiSn' 'AgI' 'AlAs' 'AlN' 'AlP' 'AlSb' 'AsB' 'BeSe' 'AsIn' 'AsGa'\n 'BN' 'BP' 'BSb' 'InSb' 'InP' 'BeO' 'CuI']\nRS ['SSr' 'MgS' 'MgO' 'INa' 'FRb' 'FNa' 'FLi' 'FK' 'IK' 'CaTe' 'CsF' 'BaO'\n 'BaS' 'BaSe' 'BaTe' 'BrK' 'BrLi' 'BrNa' 'CaO' 'CaS' 'CaSe' 'MgSe' 'CdO'\n 'SrTe' 'ClK' 'ClLi' 'ClNa' 'ClRb' 'SeSr' 'OSr']\nCsCl ['ClCs' 'IRb' 'CsI' 'BrRb' 'BrCs']\nNiAs ['ILi' 'AgCl' 'MgTe' 'AgBr']\nCrB ['CuF' 'AgF']\n" - }, - { - "type": "err", - "value": "/usr/local/lib/python2.7/dist-packages/IPython/kernel/__main__.py:31: FutureWarning: sort(columns=....) is deprecated, use sort_values(by=.....)\n" - } - ] - }, "selectedType": "Results", "pluginName": "IPython", - "shellId": "109035019D6148B2917DFA4522E8810D", - "elapsedTime": 4195, - "height": 255 + "shellId": "769AC1053A474D139637EBFAD311D374", + "height": 0 + }, + "evaluatorReader": true, + "lineCount": 22, + "tags": "calc_SIS_cell" + }, + { + "id": "code122Zf5", + "type": "code", + "evaluator": "IPython", + "input": { + "body": [ + "# set units of features to avoid i.e. size+energy", + "# In F_unit all features corresponding to the same unit/dimension are together in a sublist (but note that i.e. dimeres distances are not considered to be in the same dimension as orbital based radii although they have the same units):", + " ", + "F_unit = [", + " ['IP(A)', 'IP(B)', 'EA(A)', 'EA(B)'],", + " ['E_HOMO(A)', 'E_HOMO(B)', 'E_LUMO(A)', 'E_LUMO(B)'],", + " ['r_s(A)', 'r_s(B)', 'r_p(A)', 'r_p(B)', 'r_d(A)', 'r_d(B)'],", + " ['Z(A)', 'Z(B)','period(A)','period(B)'],", + " ]", + "", + "feature_unit_classes = [i_class for f in feature_list for i_class, dimension_group in enumerate(F_unit) if f in dimension_group] ", + "print feature_list", + "print feature_unit_classes" + ] + }, + "output": { + "state": {} }, "evaluatorReader": true, - "lineCount": 16, + "lineCount": 13, "tags": "calc_SIS_cell" }, { @@ -7300,21 +3484,17 @@ "import random", "import string", "", - "random_name = 'AA_'+''.join(random.SystemRandom().choice(string.ascii_uppercase + string.digits) for _ in range(20))", - "", - "try:", - " IP = os.environ['OPENMPIHOST'] ", - " PORT = int(os.environ['OPENMPIPORT'])", - "except:", - " IP = '172.17.0.3'", - " PORT = 22", - "", "#write key file with rsa key for accessing mpi container", "key_file = '/home/beaker/key.mpi'", "key = \"-----BEGIN RSA PRIVATE KEY-----\\nMIIEogIBAAKCAQEA7PWLZmgdJ508dD15T6+xqGDvL9Ehzo9SgsnN6xJ+qpUvvOi4\\n1axW0AqR4MnPTg/uuvk+x4tUpuufOW4w22UTGjsdvmIVWa9ujLtcRiN3YPY+SU+Y\\nO5FfqKg7r/hBn+/GMcSoffwSs7vVgmhBBnp/mJh2O1cOAFZEe98/47mbg3/kHBAk\\n36NOQktaU3l48B38EhBTnjWfcEGm1HcTRPFxXV5Wiko6ZhKFEuHcTVKng4ROtUqE\\nmgHyI0aB7TAxg4na0ejItsYWEPWGeDOw6ms/4MwylxNosWzHFPW9p4zgLCLNr+b6\\nbDDfYKjXZflAuTQtQhLmJUwD9uuYLAijpSE2fQIDAQABAoIBADgcgRET8Gt0CV/B\\nOtvKz/f+VEVvcWD3gWNlJDTZIVOFllNWjIZUlA4ZoqenQkbK8Q4nfV1FOht4yjCQ\\nTlN1oMtiWk297i5Zo4UBzPzy4w774I39oh/g8dT/WXr2/5s+7SDV38xNh6Q2A34o\\n79T35wUcfUrZ93/O7dKjb/6d8hx2FMha0wVKqY4lmG1lQE3bbx3kakec0PdvU5kO\\nYHKlpqj3pMR7CpMa+4yL/iXFwWYmnK+uu+zw7JR7PwvH1CzrnvW438wjQ1QmYbSx\\nmHHOE89X67Lsl5hn81qYWBhpwAlBwi1qscsE0cV9GcFyKqWFqZsj5coM9u3CRfvy\\nlrWe1OUCgYEA+LBUFEd3Hxs4sFiYElJ8R9SAs1udaqPvAl01hTEijJLfYlMMVs/y\\nrgNN7j22zjDak2f8QdyMJZX7EZdRmdYcHO0csYOwbYvalzcnwk+U3mxmdD3r4xSo\\nDSvkJ70fogAqUlcVIg2re6fCmZVJQTvMQYTVEM8zQomJRt/Lb2esSfsCgYEA8+zv\\n44aToe8uqiDs4w8guRW7LCDkTw4z4IVo9JUibIaPjaAs5bZEBXSB43EEywXCR75H\\nfML0rU1PVvKh1rqcvZdVzm+XMWVr3asPk0sapaiHaTcmyZvJRDxxqbLFp0zRP1T6\\ncCtXNFdHWU4KiuKrUi6cDyOKchpfkSZa4seiT+cCgYB+n4FgBfdQPlMB70oW4irn\\ng/q32CjxuGCk6oKqu5bkzo+xB6obtavSEFqouIGQwO056tNVUY+GP7Rjg5GH663K\\nyKw4cl3tmS0Gm43B8TVSfw03mKO3rrfWZQe5eCFYIg9qd26KNT2gK435FzsCXQkm\\nPxUhhu6JrW/ZR2/U3Iur6wKBgADrWLAb1ryagSuE+j+U1AO+kDkHWrTtkcZ72jxp\\nv3p3O11GSEUJXdJDcSXhTCpTuDq6/dv7hB6PFwh126RKicKxKlKf2wsFndV1Cpb8\\nhnovW2tLGOtTmfuW2rrQAKyzvmolsNfxYd/BoHQ2thV16z1hDZeFA8WQUeHjKh6G\\nsBbrAoGATdtQlaUxx4izua6k02ihkxx/cRYwDl2N8UDvDBHokS7vJFMX8b8NpsGg\\nzMElnqSpu/pe/0UG7N2MtPF6uyMcX8AZzzcsRkiMkDvWJzYt8Jpf+Eyd/uryF+Yv\\nyrXaOEY83tm6x/fny5ZaZmk8lNth7bfWywuTMkZLX3fYpWtIeE4=\\n-----END RSA PRIVATE KEY-----\"", "with open(key_file,'w') as f:", " f.write(key)", "", + "", + "IP = '130.183.207.104'", + "PORT = 32768", + "random_name = 'AA_'+''.join(random.SystemRandom().choice(string.ascii_uppercase + string.digits) for _ in range(20))", + "", "### Settings", "# 1) Local paths", "Local_paths = {", @@ -7335,33 +3515,23 @@ "Parameters = SIS_parameters", "", "sis_control = {'local_paths':Local_paths, 'remote_run':Remote_run, 'parameters':Parameters}", - "sis = SIS(P, D, feature_list, target_unit='eV', control=sis_control, rm_existing_files=True)", + "sis = SIS(P, D, feature_list, feature_unit_classes=feature_unit_classes, target_unit='eV', control=sis_control, rm_existing_files=True)", "sis.start()", "", - "overlap, Des, D_selected = sis.get_results()", + "Des, D_selected, overlap = sis.get_results()[-1]", "print \"Descriptors: %s \\nNumber of samples in overlap regions: %s\\n\" %(Des, overlap)" ] }, "output": { "state": {}, - "result": { - "type": "Results", - "outputdata": [ - { - "type": "out", - "value": "Descriptors: ['(r_s(A)+r_p(A))+(r_p(A)+r_d(B))', '(r_s(A)+r_d(B))+(r_s(B)+r_p(A))'] \nNumber of samples in overlap regions: 3\n\n" - } - ] - }, "selectedType": "Results", "pluginName": "IPython", - "shellId": "109035019D6148B2917DFA4522E8810D", - "elapsedTime": 2833, - "height": 89, + "shellId": "769AC1053A474D139637EBFAD311D374", + "height": 0, "dataresult": "\nprint Des\nc =0\ncolors = ['r','b', 'g', 'm', 'k']\nfor s, stru_class in enumerate(P):\n color = colors[s]\n d = []\n for mat in stru_class:\n x,y = D[c]\n d.append([x,y])\n plt.plot(x,y, '%ss'%color)\n c+=1 \n points = np.array(d)\n if len(points)>2:\n hull = ConvexHull(points)\n for simplex in hull.simplices:\n plt.plot(points[simplex, 0], points[simplex, 1], '%s--' %color)\n #plt.plot(points[hull.vertices,0], points[hull.vertices,1], '%s--' %color, lw=2)\n else:\n plt.plot(points[:,0],points[:,1], '%s--' %color)\nprint overlap\n" }, "evaluatorReader": true, - "lineCount": 44, + "lineCount": 40, "tags": "calc_SIS_cell" }, { @@ -7380,23 +3550,22 @@ "", "", "# parameters for the nomad viewer", - "target_list = [structure_class for structure_class, comps_of_class_list in enumerate(P) for _ in range(len(comps_of_class_list))]", + "target_list = list(P)", "x_list, y_list = D_selected.transpose().tolist()", "x_axis_label, y_axis_label = Des", "frame_list = [[0] for _ in range(82)]", "op_list = np.zeros(82)", "operations_on_structure = [(create_supercell, {'replicas': [3, 3, 3]})]", - "data_folder='/parsed/prod-017/FhiAimsParser2.0.0/RdUzye8EKmv-z4LGNHGTSk8S3S1WY'", - "legend_title='Reference E(RS)-E(ZB)'", - "plot_title = 'LASSO+L0 structure map'", - "target_name='E(RS)-E(ZB)'", + "legend_title='Structure name (target class)'", + "plot_title = 'SIS+L0 structure map'", + "target_name='Structure name (target class)'", "tmp_folder='/home/beaker/.beaker/v1/web/tmp/'", "parameter_list = selected_feature_list+[allowed_operations]", "name_html_page = hashlib.sha224(str(parameter_list)).hexdigest()[:16]", "beaker.viewer_result_5_strucs = name_html_page", "with open(tmp_folder+'output.log', 'w') as f:", - " f.write(\"Descriptors: %s,%s \\nNumber of samples in overlap regions: %s\\n\" ", - " %(x_axis_label, y_axis_label, overlap))", + " f.write(\"Descriptors: %s,%s \\nNumber of samples in overlap regions: %s\\nallowed_operations : %s\\nselected_feature_list : %s\\n\" ", + " %(x_axis_label, y_axis_label, overlap,allowed_operations,selected_feature_list))", "", "", "operated_structure_list = _get_structures(json_list=json_paths, file_format='NOMAD', frame_list=frame_list, tmp_folder=tmp_folder,", @@ -7408,7 +3577,7 @@ "file_html_link, file_html_name = viewer.plot(archive=operated_structure_list, frames='list',", " frame_list=frame_list, clustering_x_list=x_list, clustering_y_list=y_list,", " target_list=target_list, ", - " target_class_names=Structures_names,target_unit='eV',", + " target_class_names=Structure_names,target_unit='eV',", " target_name=target_name, legend_title=legend_title,", " plot_convex_hull=True, is_classification=True,", " x_axis_label=x_axis_label, y_axis_label=y_axis_label, plot_title=plot_title,", @@ -7420,29 +3589,11 @@ "state": {}, "selectedType": "Results", "pluginName": "IPython", - "shellId": "109035019D6148B2917DFA4522E8810D", - "elapsedTime": 7514, - "result": { - "type": "Results", - "outputdata": [ - { - "type": "err", - "value": "INFO: Generating figures and geometry files.\n" - }, - { - "type": "err", - "value": "INFO: Generating figures and geometry files: done.\n" - }, - { - "type": "err", - "value": "INFO: Click on the button 'View interactive 2D scatter plot' to see the plot.\n" - } - ] - }, - "height": 89 + "shellId": "769AC1053A474D139637EBFAD311D374", + "height": 0 }, "evaluatorReader": true, - "lineCount": 43, + "lineCount": 42, "tags": "calc_SIS_cell" }, { @@ -7451,10 +3602,6 @@ "evaluator": "JavaScript", "input": { "body": [ - "beaker.view_result = function(result_link) {", - " $(\"#sis_result_button\").attr(\"href\", result_link);", - " $(\"#sis_result_button\").removeClass(\"disabled\").addClass(\"active\");", - "}", "var result_link = '/user/tmp/' + beaker.viewer_result_5_strucs + '.html';", "beaker.view_result(result_link);" ], @@ -7464,10 +3611,10 @@ "state": {}, "selectedType": "BeakerDisplay", "pluginName": "JavaScript", - "elapsedTime": 80 + "height": 78 }, "evaluatorReader": true, - "lineCount": 6, + "lineCount": 2, "tags": "calc_SIS_cell" } ], @@ -7491,11 +3638,11 @@ "n_sis": null, "units": "eV_angstrom", "viewer_result": "8a055c69f90b5155", - "lam": "0.08", + "lam": "0.02", "image": "/user/AA_4K0A9VDU2MXW9EBCGPBA.png", "tro": 3, "ro": 3, - "viewer_result_ZB_RS": "51c41b8d0c9627e2", - "viewer_result_5_strucs": "94a132a4b0a2edb1" + "viewer_result_ZB_RS": "19cbd5289199ab7b", + "viewer_result_5_strucs": "51c41b8d0c9627e2" } } -- GitLab