diff --git a/README.md b/README.md
index a47f675a..596d96fb 100644
--- a/README.md
+++ b/README.md
@@ -25,11 +25,10 @@ See [dev branch](https://github.com/Exabyte-io/rewotes/tree/dev) also.
## Notes
-Examples listed here are only meant as guidelines and do not necessarily reflect on the type of work to be performed at the company.
+Examples listed here are only meant as guidelines and do not necessarily reflect on the type of work to be performed at the company. Modifications to the individual assignments with an advance notice are encouraged.
-Modifications to the individual assignments with an advance notice are encouraged. Candidates are free to share the results.
+We will screen for the ability to (1) pick up new concepts quickly, (2) implement a working proof-of-concept solution, and (3) outline how the PoC can become more mature. We value attention to details and modularity.
-We will screen for the ability to pick up new concepts quickly and implement a working solution. We value attention to details and modularity.
## Hiring process
diff --git a/vitalypro/.ipynb_checkpoints/code_implementation_example-checkpoint.ipynb b/vitalypro/.ipynb_checkpoints/code_implementation_example-checkpoint.ipynb
new file mode 100644
index 00000000..fa1e208f
--- /dev/null
+++ b/vitalypro/.ipynb_checkpoints/code_implementation_example-checkpoint.ipynb
@@ -0,0 +1,7053 @@
+{
+ "cells": [
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "metadata": {
+ "ExecuteTime": {
+ "end_time": "2021-10-29T20:09:03.115197Z",
+ "start_time": "2021-10-29T20:09:01.575710Z"
+ }
+ },
+ "outputs": [],
+ "source": [
+ "#load some modules \n",
+ "from ml_modeling_module import *\n",
+ "from os import walk\n",
+ "import plotly.graph_objects as go\n",
+ "from plotly.subplots import make_subplots"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# first let's plot some sige bandstructures calculated with DFT"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {
+ "ExecuteTime": {
+ "end_time": "2021-10-29T20:09:05.156811Z",
+ "start_time": "2021-10-29T20:09:03.685480Z"
+ },
+ "scrolled": false
+ },
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ " \n",
+ " "
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "data": {
+ "application/vnd.plotly.v1+json": {
+ "config": {
+ "plotlyServerURL": "https://plot.ly"
+ },
+ "data": [
+ {
+ "marker": {
+ "color": "black"
+ },
+ "mode": "lines",
+ "name": "markers",
+ "showlegend": false,
+ "type": "scatter",
+ "x": [
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11
+ ],
+ "xaxis": "x",
+ "y": [
+ -2.8999998569488525,
+ -2.8899998664855957,
+ -2.860999822616577,
+ -2.811999797821045,
+ -2.744999885559082,
+ -2.6589999198913574,
+ -2.553999900817871,
+ -2.5189998149871826,
+ -2.4079997539520264,
+ -2.311999797821045,
+ -2.2689998149871826
+ ],
+ "yaxis": "y"
+ },
+ {
+ "marker": {
+ "color": "black"
+ },
+ "mode": "lines",
+ "name": "markers",
+ "showlegend": false,
+ "type": "scatter",
+ "x": [
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11
+ ],
+ "xaxis": "x",
+ "y": [
+ -0.4329996109008789,
+ -0.5479998588562012,
+ -0.8379998207092285,
+ -1.2189998626708984,
+ -1.6419997215270996,
+ -2.0839996337890625,
+ -2.5349998474121094,
+ -2.430999755859375,
+ -2.2909998893737793,
+ -2.138000011444092,
+ -2.0190000534057617
+ ],
+ "yaxis": "y"
+ },
+ {
+ "marker": {
+ "color": "black"
+ },
+ "mode": "lines",
+ "name": "markers",
+ "showlegend": false,
+ "type": "scatter",
+ "x": [
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11
+ ],
+ "xaxis": "x",
+ "y": [
+ -0.0429997444152832,
+ -0.09200000762939453,
+ -0.2259998321533203,
+ -0.4159998893737793,
+ -0.6349997520446777,
+ -0.866999626159668,
+ -1.0999999046325684,
+ -1.3269996643066406,
+ -1.5439996719360352,
+ -1.7430000305175781,
+ -1.8779997825622559
+ ],
+ "yaxis": "y"
+ },
+ {
+ "marker": {
+ "color": "black"
+ },
+ "mode": "lines",
+ "name": "markers",
+ "showlegend": false,
+ "type": "scatter",
+ "x": [
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11
+ ],
+ "xaxis": "x",
+ "y": [
+ -0.013000011444091797,
+ -0.06199979782104492,
+ -0.19499969482421875,
+ -0.38299989700317383,
+ -0.5980000495910645,
+ -0.8229999542236328,
+ -1.0460000038146973,
+ -1.2569999694824219,
+ -1.4439997673034668,
+ -1.5869998931884766,
+ -1.6449999809265137
+ ],
+ "yaxis": "y"
+ },
+ {
+ "marker": {
+ "color": "black"
+ },
+ "mode": "lines",
+ "name": "markers",
+ "showlegend": false,
+ "type": "scatter",
+ "x": [
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11
+ ],
+ "xaxis": "x",
+ "y": [
+ 0.14300012588500977,
+ 0.20300006866455078,
+ 0.37400007247924805,
+ 0.5989999771118164,
+ 0.6040000915527344,
+ 0.6280002593994141,
+ 0.6680002212524414,
+ 0.7220001220703125,
+ 0.7820000648498535,
+ 0.8340001106262207,
+ 0.8570003509521484
+ ],
+ "yaxis": "y"
+ },
+ {
+ "marker": {
+ "color": "black"
+ },
+ "mode": "lines",
+ "name": "markers",
+ "showlegend": false,
+ "type": "scatter",
+ "x": [
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11
+ ],
+ "xaxis": "x",
+ "y": [
+ 0.14400005340576172,
+ 0.20399999618530273,
+ 0.375,
+ 0.6400003433227539,
+ 0.9809999465942383,
+ 1.3819999694824219,
+ 1.569000244140625,
+ 1.5789999961853027,
+ 1.5120000839233398,
+ 1.439000129699707,
+ 1.4079999923706055
+ ],
+ "yaxis": "y"
+ },
+ {
+ "marker": {
+ "color": "black"
+ },
+ "mode": "lines",
+ "name": "markers",
+ "showlegend": false,
+ "type": "scatter",
+ "x": [
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11
+ ],
+ "xaxis": "x",
+ "y": [
+ 0.6579999923706055,
+ 0.6380000114440918,
+ 0.6110000610351562,
+ 0.6410002708435059,
+ 0.9820003509521484,
+ 1.383000373840332,
+ 1.830000400543213,
+ 2.2480006217956543,
+ 2.4390006065368652,
+ 2.6790003776550293,
+ 2.8680005073547363
+ ],
+ "yaxis": "y"
+ },
+ {
+ "marker": {
+ "color": "black"
+ },
+ "mode": "lines",
+ "name": "markers",
+ "showlegend": false,
+ "type": "scatter",
+ "x": [
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11
+ ],
+ "xaxis": "x",
+ "y": [
+ 0.8220000267028809,
+ 0.8700003623962402,
+ 1.010000228881836,
+ 1.1620001792907715,
+ 1.308000087738037,
+ 1.4580001831054688,
+ 1.8309998512268066,
+ 2.316000461578369,
+ 2.8340001106262207,
+ 3.2170004844665527,
+ 3.0450005531311035
+ ],
+ "yaxis": "y"
+ },
+ {
+ "marker": {
+ "color": "black"
+ },
+ "mode": "lines",
+ "name": "markers",
+ "showlegend": false,
+ "type": "scatter",
+ "x": [
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11
+ ],
+ "xaxis": "x2",
+ "y": [
+ -2.809000015258789,
+ -2.8459999561309814,
+ -2.9469997882843018,
+ -3.0889999866485596,
+ -3.0239999294281006,
+ -2.934000015258789,
+ -2.8259999752044678,
+ -2.7779998779296875,
+ -2.6610000133514404,
+ -2.557999849319458,
+ -2.5119998455047607
+ ],
+ "yaxis": "y2"
+ },
+ {
+ "marker": {
+ "color": "black"
+ },
+ "mode": "lines",
+ "name": "markers",
+ "showlegend": false,
+ "type": "scatter",
+ "x": [
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11
+ ],
+ "xaxis": "x2",
+ "y": [
+ -0.3249998092651367,
+ -0.36999988555908203,
+ -0.6719999313354492,
+ -1.0869998931884766,
+ -1.5180001258850098,
+ -1.9529998302459717,
+ -2.384999990463257,
+ -2.6989998817443848,
+ -2.553999900817871,
+ -2.3969998359680176,
+ -2.2769999504089355
+ ],
+ "yaxis": "y2"
+ },
+ {
+ "marker": {
+ "color": "black"
+ },
+ "mode": "lines",
+ "name": "markers",
+ "showlegend": false,
+ "type": "scatter",
+ "x": [
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11
+ ],
+ "xaxis": "x2",
+ "y": [
+ -0.29199981689453125,
+ -0.3359999656677246,
+ -0.4930000305175781,
+ -0.6719999313354492,
+ -0.8829998970031738,
+ -1.1100001335144043,
+ -1.3420000076293945,
+ -1.5699996948242188,
+ -1.7879998683929443,
+ -1.9909999370574951,
+ -2.126999855041504
+ ],
+ "yaxis": "y2"
+ },
+ {
+ "marker": {
+ "color": "black"
+ },
+ "mode": "lines",
+ "name": "markers",
+ "showlegend": false,
+ "type": "scatter",
+ "x": [
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11
+ ],
+ "xaxis": "x2",
+ "y": [
+ -0.15000009536743164,
+ -0.315000057220459,
+ -0.4590001106262207,
+ -0.6359996795654297,
+ -0.8439998626708984,
+ -1.065999984741211,
+ -1.2880001068115234,
+ -1.5,
+ -1.691999912261963,
+ -1.8399999141693115,
+ -1.9019999504089355
+ ],
+ "yaxis": "y2"
+ },
+ {
+ "marker": {
+ "color": "black"
+ },
+ "mode": "lines",
+ "name": "markers",
+ "showlegend": false,
+ "type": "scatter",
+ "x": [
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11
+ ],
+ "xaxis": "x2",
+ "y": [
+ 0.2670001983642578,
+ 0.22700023651123047,
+ 0.17500019073486328,
+ 0.14400005340576172,
+ 0.1360001564025879,
+ 0.1510000228881836,
+ 0.18800020217895508,
+ 0.24300003051757812,
+ 0.30900001525878906,
+ 0.3710002899169922,
+ 0.3990001678466797
+ ],
+ "yaxis": "y2"
+ },
+ {
+ "marker": {
+ "color": "black"
+ },
+ "mode": "lines",
+ "name": "markers",
+ "showlegend": false,
+ "type": "scatter",
+ "x": [
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11
+ ],
+ "xaxis": "x2",
+ "y": [
+ 0.3959999084472656,
+ 0.46199989318847656,
+ 0.6500000953674316,
+ 0.8340001106262207,
+ 1.0120000839233398,
+ 1.1800003051757812,
+ 1.25,
+ 1.1760001182556152,
+ 1.0560002326965332,
+ 0.9530000686645508,
+ 0.9100003242492676
+ ],
+ "yaxis": "y2"
+ },
+ {
+ "marker": {
+ "color": "black"
+ },
+ "mode": "lines",
+ "name": "markers",
+ "showlegend": false,
+ "type": "scatter",
+ "x": [
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11
+ ],
+ "xaxis": "x2",
+ "y": [
+ 0.3970003128051758,
+ 0.4630002975463867,
+ 0.6519999504089355,
+ 0.940000057220459,
+ 1.308000087738037,
+ 1.7360000610351562,
+ 1.8020000457763672,
+ 1.9770002365112305,
+ 2.2280001640319824,
+ 2.492000102996826,
+ 2.672999858856201
+ ],
+ "yaxis": "y2"
+ },
+ {
+ "marker": {
+ "color": "black"
+ },
+ "mode": "lines",
+ "name": "markers",
+ "showlegend": false,
+ "type": "scatter",
+ "x": [
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11
+ ],
+ "xaxis": "x2",
+ "y": [
+ 0.5180001258850098,
+ 0.560999870300293,
+ 0.6770000457763672,
+ 0.9419999122619629,
+ 1.309999942779541,
+ 1.7379999160766602,
+ 2.2100000381469727,
+ 2.7219996452331543,
+ 3.073000431060791,
+ 2.9830002784729004,
+ 2.858999729156494
+ ],
+ "yaxis": "y2"
+ },
+ {
+ "line": {
+ "color": "RoyalBlue",
+ "dash": "dot",
+ "width": 3
+ },
+ "mode": "lines",
+ "name": "markers",
+ "showlegend": false,
+ "type": "scatter",
+ "x": [
+ 1,
+ 11
+ ],
+ "xaxis": "x",
+ "y": [
+ 0,
+ 0
+ ],
+ "yaxis": "y"
+ },
+ {
+ "line": {
+ "color": "RoyalBlue",
+ "dash": "dot",
+ "width": 3
+ },
+ "mode": "lines",
+ "name": "markers",
+ "showlegend": false,
+ "type": "scatter",
+ "x": [
+ 1,
+ 11
+ ],
+ "xaxis": "x2",
+ "y": [
+ 0,
+ 0
+ ],
+ "yaxis": "y2"
+ }
+ ],
+ "layout": {
+ "annotations": [
+ {
+ "font": {
+ "size": 16
+ },
+ "showarrow": false,
+ "text": "Si2Ge strain 0%",
+ "x": 0.225,
+ "xanchor": "center",
+ "xref": "paper",
+ "y": 1,
+ "yanchor": "bottom",
+ "yref": "paper"
+ },
+ {
+ "font": {
+ "size": 16
+ },
+ "showarrow": false,
+ "text": "Si2Ge2 strain 5%",
+ "x": 0.775,
+ "xanchor": "center",
+ "xref": "paper",
+ "y": 1,
+ "yanchor": "bottom",
+ "yref": "paper"
+ }
+ ],
+ "height": 650,
+ "plot_bgcolor": "white",
+ "template": {
+ "data": {
+ "bar": [
+ {
+ "error_x": {
+ "color": "#2a3f5f"
+ },
+ "error_y": {
+ "color": "#2a3f5f"
+ },
+ "marker": {
+ "line": {
+ "color": "#E5ECF6",
+ "width": 0.5
+ }
+ },
+ "type": "bar"
+ }
+ ],
+ "barpolar": [
+ {
+ "marker": {
+ "line": {
+ "color": "#E5ECF6",
+ "width": 0.5
+ }
+ },
+ "type": "barpolar"
+ }
+ ],
+ "carpet": [
+ {
+ "aaxis": {
+ "endlinecolor": "#2a3f5f",
+ "gridcolor": "white",
+ "linecolor": "white",
+ "minorgridcolor": "white",
+ "startlinecolor": "#2a3f5f"
+ },
+ "baxis": {
+ "endlinecolor": "#2a3f5f",
+ "gridcolor": "white",
+ "linecolor": "white",
+ "minorgridcolor": "white",
+ "startlinecolor": "#2a3f5f"
+ },
+ "type": "carpet"
+ }
+ ],
+ "choropleth": [
+ {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ },
+ "type": "choropleth"
+ }
+ ],
+ "contour": [
+ {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ },
+ "colorscale": [
+ [
+ 0,
+ "#0d0887"
+ ],
+ [
+ 0.1111111111111111,
+ "#46039f"
+ ],
+ [
+ 0.2222222222222222,
+ "#7201a8"
+ ],
+ [
+ 0.3333333333333333,
+ "#9c179e"
+ ],
+ [
+ 0.4444444444444444,
+ "#bd3786"
+ ],
+ [
+ 0.5555555555555556,
+ "#d8576b"
+ ],
+ [
+ 0.6666666666666666,
+ "#ed7953"
+ ],
+ [
+ 0.7777777777777778,
+ "#fb9f3a"
+ ],
+ [
+ 0.8888888888888888,
+ "#fdca26"
+ ],
+ [
+ 1,
+ "#f0f921"
+ ]
+ ],
+ "type": "contour"
+ }
+ ],
+ "contourcarpet": [
+ {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ },
+ "type": "contourcarpet"
+ }
+ ],
+ "heatmap": [
+ {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ },
+ "colorscale": [
+ [
+ 0,
+ "#0d0887"
+ ],
+ [
+ 0.1111111111111111,
+ "#46039f"
+ ],
+ [
+ 0.2222222222222222,
+ "#7201a8"
+ ],
+ [
+ 0.3333333333333333,
+ "#9c179e"
+ ],
+ [
+ 0.4444444444444444,
+ "#bd3786"
+ ],
+ [
+ 0.5555555555555556,
+ "#d8576b"
+ ],
+ [
+ 0.6666666666666666,
+ "#ed7953"
+ ],
+ [
+ 0.7777777777777778,
+ "#fb9f3a"
+ ],
+ [
+ 0.8888888888888888,
+ "#fdca26"
+ ],
+ [
+ 1,
+ "#f0f921"
+ ]
+ ],
+ "type": "heatmap"
+ }
+ ],
+ "heatmapgl": [
+ {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ },
+ "colorscale": [
+ [
+ 0,
+ "#0d0887"
+ ],
+ [
+ 0.1111111111111111,
+ "#46039f"
+ ],
+ [
+ 0.2222222222222222,
+ "#7201a8"
+ ],
+ [
+ 0.3333333333333333,
+ "#9c179e"
+ ],
+ [
+ 0.4444444444444444,
+ "#bd3786"
+ ],
+ [
+ 0.5555555555555556,
+ "#d8576b"
+ ],
+ [
+ 0.6666666666666666,
+ "#ed7953"
+ ],
+ [
+ 0.7777777777777778,
+ "#fb9f3a"
+ ],
+ [
+ 0.8888888888888888,
+ "#fdca26"
+ ],
+ [
+ 1,
+ "#f0f921"
+ ]
+ ],
+ "type": "heatmapgl"
+ }
+ ],
+ "histogram": [
+ {
+ "marker": {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ }
+ },
+ "type": "histogram"
+ }
+ ],
+ "histogram2d": [
+ {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ },
+ "colorscale": [
+ [
+ 0,
+ "#0d0887"
+ ],
+ [
+ 0.1111111111111111,
+ "#46039f"
+ ],
+ [
+ 0.2222222222222222,
+ "#7201a8"
+ ],
+ [
+ 0.3333333333333333,
+ "#9c179e"
+ ],
+ [
+ 0.4444444444444444,
+ "#bd3786"
+ ],
+ [
+ 0.5555555555555556,
+ "#d8576b"
+ ],
+ [
+ 0.6666666666666666,
+ "#ed7953"
+ ],
+ [
+ 0.7777777777777778,
+ "#fb9f3a"
+ ],
+ [
+ 0.8888888888888888,
+ "#fdca26"
+ ],
+ [
+ 1,
+ "#f0f921"
+ ]
+ ],
+ "type": "histogram2d"
+ }
+ ],
+ "histogram2dcontour": [
+ {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ },
+ "colorscale": [
+ [
+ 0,
+ "#0d0887"
+ ],
+ [
+ 0.1111111111111111,
+ "#46039f"
+ ],
+ [
+ 0.2222222222222222,
+ "#7201a8"
+ ],
+ [
+ 0.3333333333333333,
+ "#9c179e"
+ ],
+ [
+ 0.4444444444444444,
+ "#bd3786"
+ ],
+ [
+ 0.5555555555555556,
+ "#d8576b"
+ ],
+ [
+ 0.6666666666666666,
+ "#ed7953"
+ ],
+ [
+ 0.7777777777777778,
+ "#fb9f3a"
+ ],
+ [
+ 0.8888888888888888,
+ "#fdca26"
+ ],
+ [
+ 1,
+ "#f0f921"
+ ]
+ ],
+ "type": "histogram2dcontour"
+ }
+ ],
+ "mesh3d": [
+ {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ },
+ "type": "mesh3d"
+ }
+ ],
+ "parcoords": [
+ {
+ "line": {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ }
+ },
+ "type": "parcoords"
+ }
+ ],
+ "pie": [
+ {
+ "automargin": true,
+ "type": "pie"
+ }
+ ],
+ "scatter": [
+ {
+ "marker": {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ }
+ },
+ "type": "scatter"
+ }
+ ],
+ "scatter3d": [
+ {
+ "line": {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ }
+ },
+ "marker": {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ }
+ },
+ "type": "scatter3d"
+ }
+ ],
+ "scattercarpet": [
+ {
+ "marker": {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ }
+ },
+ "type": "scattercarpet"
+ }
+ ],
+ "scattergeo": [
+ {
+ "marker": {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ }
+ },
+ "type": "scattergeo"
+ }
+ ],
+ "scattergl": [
+ {
+ "marker": {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ }
+ },
+ "type": "scattergl"
+ }
+ ],
+ "scattermapbox": [
+ {
+ "marker": {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ }
+ },
+ "type": "scattermapbox"
+ }
+ ],
+ "scatterpolar": [
+ {
+ "marker": {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ }
+ },
+ "type": "scatterpolar"
+ }
+ ],
+ "scatterpolargl": [
+ {
+ "marker": {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ }
+ },
+ "type": "scatterpolargl"
+ }
+ ],
+ "scatterternary": [
+ {
+ "marker": {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ }
+ },
+ "type": "scatterternary"
+ }
+ ],
+ "surface": [
+ {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ },
+ "colorscale": [
+ [
+ 0,
+ "#0d0887"
+ ],
+ [
+ 0.1111111111111111,
+ "#46039f"
+ ],
+ [
+ 0.2222222222222222,
+ "#7201a8"
+ ],
+ [
+ 0.3333333333333333,
+ "#9c179e"
+ ],
+ [
+ 0.4444444444444444,
+ "#bd3786"
+ ],
+ [
+ 0.5555555555555556,
+ "#d8576b"
+ ],
+ [
+ 0.6666666666666666,
+ "#ed7953"
+ ],
+ [
+ 0.7777777777777778,
+ "#fb9f3a"
+ ],
+ [
+ 0.8888888888888888,
+ "#fdca26"
+ ],
+ [
+ 1,
+ "#f0f921"
+ ]
+ ],
+ "type": "surface"
+ }
+ ],
+ "table": [
+ {
+ "cells": {
+ "fill": {
+ "color": "#EBF0F8"
+ },
+ "line": {
+ "color": "white"
+ }
+ },
+ "header": {
+ "fill": {
+ "color": "#C8D4E3"
+ },
+ "line": {
+ "color": "white"
+ }
+ },
+ "type": "table"
+ }
+ ]
+ },
+ "layout": {
+ "annotationdefaults": {
+ "arrowcolor": "#2a3f5f",
+ "arrowhead": 0,
+ "arrowwidth": 1
+ },
+ "coloraxis": {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ }
+ },
+ "colorscale": {
+ "diverging": [
+ [
+ 0,
+ "#8e0152"
+ ],
+ [
+ 0.1,
+ "#c51b7d"
+ ],
+ [
+ 0.2,
+ "#de77ae"
+ ],
+ [
+ 0.3,
+ "#f1b6da"
+ ],
+ [
+ 0.4,
+ "#fde0ef"
+ ],
+ [
+ 0.5,
+ "#f7f7f7"
+ ],
+ [
+ 0.6,
+ "#e6f5d0"
+ ],
+ [
+ 0.7,
+ "#b8e186"
+ ],
+ [
+ 0.8,
+ "#7fbc41"
+ ],
+ [
+ 0.9,
+ "#4d9221"
+ ],
+ [
+ 1,
+ "#276419"
+ ]
+ ],
+ "sequential": [
+ [
+ 0,
+ "#0d0887"
+ ],
+ [
+ 0.1111111111111111,
+ "#46039f"
+ ],
+ [
+ 0.2222222222222222,
+ "#7201a8"
+ ],
+ [
+ 0.3333333333333333,
+ "#9c179e"
+ ],
+ [
+ 0.4444444444444444,
+ "#bd3786"
+ ],
+ [
+ 0.5555555555555556,
+ "#d8576b"
+ ],
+ [
+ 0.6666666666666666,
+ "#ed7953"
+ ],
+ [
+ 0.7777777777777778,
+ "#fb9f3a"
+ ],
+ [
+ 0.8888888888888888,
+ "#fdca26"
+ ],
+ [
+ 1,
+ "#f0f921"
+ ]
+ ],
+ "sequentialminus": [
+ [
+ 0,
+ "#0d0887"
+ ],
+ [
+ 0.1111111111111111,
+ "#46039f"
+ ],
+ [
+ 0.2222222222222222,
+ "#7201a8"
+ ],
+ [
+ 0.3333333333333333,
+ "#9c179e"
+ ],
+ [
+ 0.4444444444444444,
+ "#bd3786"
+ ],
+ [
+ 0.5555555555555556,
+ "#d8576b"
+ ],
+ [
+ 0.6666666666666666,
+ "#ed7953"
+ ],
+ [
+ 0.7777777777777778,
+ "#fb9f3a"
+ ],
+ [
+ 0.8888888888888888,
+ "#fdca26"
+ ],
+ [
+ 1,
+ "#f0f921"
+ ]
+ ]
+ },
+ "colorway": [
+ "#636efa",
+ "#EF553B",
+ "#00cc96",
+ "#ab63fa",
+ "#FFA15A",
+ "#19d3f3",
+ "#FF6692",
+ "#B6E880",
+ "#FF97FF",
+ "#FECB52"
+ ],
+ "font": {
+ "color": "#2a3f5f"
+ },
+ "geo": {
+ "bgcolor": "white",
+ "lakecolor": "white",
+ "landcolor": "#E5ECF6",
+ "showlakes": true,
+ "showland": true,
+ "subunitcolor": "white"
+ },
+ "hoverlabel": {
+ "align": "left"
+ },
+ "hovermode": "closest",
+ "mapbox": {
+ "style": "light"
+ },
+ "paper_bgcolor": "white",
+ "plot_bgcolor": "#E5ECF6",
+ "polar": {
+ "angularaxis": {
+ "gridcolor": "white",
+ "linecolor": "white",
+ "ticks": ""
+ },
+ "bgcolor": "#E5ECF6",
+ "radialaxis": {
+ "gridcolor": "white",
+ "linecolor": "white",
+ "ticks": ""
+ }
+ },
+ "scene": {
+ "xaxis": {
+ "backgroundcolor": "#E5ECF6",
+ "gridcolor": "white",
+ "gridwidth": 2,
+ "linecolor": "white",
+ "showbackground": true,
+ "ticks": "",
+ "zerolinecolor": "white"
+ },
+ "yaxis": {
+ "backgroundcolor": "#E5ECF6",
+ "gridcolor": "white",
+ "gridwidth": 2,
+ "linecolor": "white",
+ "showbackground": true,
+ "ticks": "",
+ "zerolinecolor": "white"
+ },
+ "zaxis": {
+ "backgroundcolor": "#E5ECF6",
+ "gridcolor": "white",
+ "gridwidth": 2,
+ "linecolor": "white",
+ "showbackground": true,
+ "ticks": "",
+ "zerolinecolor": "white"
+ }
+ },
+ "shapedefaults": {
+ "line": {
+ "color": "#2a3f5f"
+ }
+ },
+ "ternary": {
+ "aaxis": {
+ "gridcolor": "white",
+ "linecolor": "white",
+ "ticks": ""
+ },
+ "baxis": {
+ "gridcolor": "white",
+ "linecolor": "white",
+ "ticks": ""
+ },
+ "bgcolor": "#E5ECF6",
+ "caxis": {
+ "gridcolor": "white",
+ "linecolor": "white",
+ "ticks": ""
+ }
+ },
+ "title": {
+ "x": 0.05
+ },
+ "xaxis": {
+ "automargin": true,
+ "gridcolor": "white",
+ "linecolor": "white",
+ "ticks": "",
+ "title": {
+ "standoff": 15
+ },
+ "zerolinecolor": "white",
+ "zerolinewidth": 2
+ },
+ "yaxis": {
+ "automargin": true,
+ "gridcolor": "white",
+ "linecolor": "white",
+ "ticks": "",
+ "title": {
+ "standoff": 15
+ },
+ "zerolinecolor": "white",
+ "zerolinewidth": 2
+ }
+ }
+ },
+ "width": 900,
+ "xaxis": {
+ "anchor": "y",
+ "domain": [
+ 0,
+ 0.45
+ ],
+ "gridcolor": "lightgrey",
+ "gridwidth": 0.5,
+ "linecolor": "black",
+ "linewidth": 1,
+ "mirror": true,
+ "range": [
+ 1,
+ 11
+ ],
+ "showgrid": true,
+ "ticks": "inside",
+ "ticktext": [
+ "G",
+ "Z"
+ ],
+ "tickvals": [
+ 1,
+ 11
+ ]
+ },
+ "xaxis2": {
+ "anchor": "y2",
+ "domain": [
+ 0.55,
+ 1
+ ],
+ "gridcolor": "lightgrey",
+ "gridwidth": 0.5,
+ "linecolor": "black",
+ "linewidth": 1,
+ "mirror": true,
+ "range": [
+ 1,
+ 11
+ ],
+ "showgrid": true,
+ "ticks": "inside",
+ "ticktext": [
+ "G",
+ "Z"
+ ],
+ "tickvals": [
+ 1,
+ 11
+ ]
+ },
+ "yaxis": {
+ "anchor": "x",
+ "domain": [
+ 0,
+ 1
+ ],
+ "gridcolor": "lightgrey",
+ "gridwidth": 0.5,
+ "linecolor": "black",
+ "linewidth": 1,
+ "mirror": true,
+ "showgrid": true,
+ "ticks": "inside",
+ "title": {
+ "text": "Energy, eV"
+ }
+ },
+ "yaxis2": {
+ "anchor": "x2",
+ "domain": [
+ 0,
+ 1
+ ],
+ "gridcolor": "lightgrey",
+ "gridwidth": 0.5,
+ "linecolor": "black",
+ "linewidth": 1,
+ "mirror": true,
+ "showgrid": true,
+ "ticks": "inside",
+ "title": {
+ "text": "Energy, eV"
+ }
+ }
+ }
+ },
+ "text/html": [
+ "
\n",
+ " \n",
+ " \n",
+ "
\n",
+ " \n",
+ "
"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "### EXAMPLE OF READING DATA WITH MODE=\"FERMI\" ###\n",
+ "\n",
+ "\"\"\"\n",
+ "read QE output file with bands for 0% and 5% strain \n",
+ "reshape data: 8 bands 11 k-points\n",
+ "fermi level is manually specified \n",
+ "\"\"\"\n",
+ "data=read_data('bands/si2ge2_0.dat')\n",
+ "si2ge2_0=data.read_bands_ml(mode='Fermi',fermi=6.18, bands_num=4)\n",
+ "si2ge2_0=si2ge2_0.reshape(8,11)\n",
+ "\n",
+ "data=read_data('bands/si2ge2_5.dat')\n",
+ "si2ge2_5=data.read_bands_ml(mode='Fermi',fermi=5.60, bands_num=4)\n",
+ "si2ge2_5=si2ge2_5.reshape(8,11)\n",
+ "\n",
+ "fig = make_subplots(rows=1, cols=2,subplot_titles=(\"Si2Ge strain 0%\", \"Si2Ge2 strain 5%\"))\n",
+ "\n",
+ "for i in range(si2ge2_0.shape[0]):\n",
+ " fig.add_trace(go.Scatter(x=np.arange(1,12,1), y=si2ge2_0[i],\n",
+ " mode='lines', marker=dict(color='black'), showlegend=False, \n",
+ " name='markers'), col=1, row=1) \n",
+ "for i in range(si2ge2_5.shape[0]):\n",
+ " fig.add_trace(go.Scatter(x=np.arange(1,12,1), y=si2ge2_5[i],\n",
+ " mode='lines', marker=dict(color='black'), showlegend=False, \n",
+ " name='markers'), col=2, row=1) \n",
+ "\n",
+ " \n",
+ "fig.add_trace(go.Scatter(x=[1,11], y=[0,0],\n",
+ " mode='lines', line=dict(color= \"RoyalBlue\",width=3, dash='dot'), showlegend=False, \n",
+ " name='markers'), col=1, row=1) \n",
+ "fig.add_trace(go.Scatter(x=[1,11], y=[0,0],\n",
+ " mode='lines', line=dict(color= \"RoyalBlue\",width=3, dash='dot'), showlegend=False, \n",
+ " name='markers'), col=2, row=1) \n",
+ "fig.update_xaxes(showgrid=True, \n",
+ " gridwidth=0.5, \n",
+ " gridcolor='lightgrey', \n",
+ " ticks='inside' , \n",
+ " linecolor= 'black', \n",
+ " linewidth= 1,\n",
+ " mirror= True,\n",
+ " ticktext=['G', 'Z'],\n",
+ " tickvals=[1,11],\n",
+ " range=[1,11],\n",
+ " )\n",
+ "fig.update_yaxes(title='Energy, eV', \n",
+ " showgrid=True, \n",
+ " gridwidth=0.5, \n",
+ " gridcolor='lightgrey', \n",
+ " ticks='inside' , \n",
+ " linecolor= 'black',\n",
+ " linewidth= 1,\n",
+ " mirror= True,\n",
+ " )\n",
+ "\n",
+ "fig.update_layout(width=900, height=650, plot_bgcolor='white')\n",
+ "fig.show()\n",
+ "\n",
+ "\"\"\"\n",
+ "I used only 11 k-points to produce these bandstructures,\n",
+ "therefore, the bandstructures look a bit ugly\n",
+ "We can see how conduction bands shift with applied strain\n",
+ "\"\"\""
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "metadata": {
+ "ExecuteTime": {
+ "end_time": "2021-10-29T20:09:08.040635Z",
+ "start_time": "2021-10-29T20:09:07.941613Z"
+ },
+ "scrolled": false
+ },
+ "outputs": [
+ {
+ "data": {
+ "application/vnd.plotly.v1+json": {
+ "config": {
+ "plotlyServerURL": "https://plot.ly"
+ },
+ "data": [
+ {
+ "marker": {
+ "color": "black"
+ },
+ "mode": "lines",
+ "name": "markers",
+ "showlegend": false,
+ "type": "scatter",
+ "x": [
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11
+ ],
+ "xaxis": "x",
+ "y": [
+ 0.24899959564208984,
+ 0.3119997978210449,
+ 0.490999698638916,
+ 0.6419997215270996,
+ 0.6469998359680176,
+ 0.6749997138977051,
+ 0.7229995727539062,
+ 0.7899999618530273,
+ 0.869999885559082,
+ 0.9489998817443848,
+ 0.9889998435974121
+ ],
+ "yaxis": "y"
+ },
+ {
+ "marker": {
+ "color": "black"
+ },
+ "mode": "lines",
+ "name": "markers",
+ "showlegend": false,
+ "type": "scatter",
+ "x": [
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11
+ ],
+ "xaxis": "x",
+ "y": [
+ 0.7239999771118164,
+ 0.6959996223449707,
+ 0.6599998474121094,
+ 0.7669997215270996,
+ 1.11899995803833,
+ 1.5209999084472656,
+ 1.6359996795654297,
+ 1.6059999465942383,
+ 1.495999813079834,
+ 1.3859996795654297,
+ 1.3339996337890625
+ ],
+ "yaxis": "y"
+ },
+ {
+ "marker": {
+ "color": "black"
+ },
+ "mode": "lines",
+ "name": "markers",
+ "showlegend": false,
+ "type": "scatter",
+ "x": [
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11
+ ],
+ "xaxis": "x",
+ "y": [
+ 0.7259998321533203,
+ 0.7809996604919434,
+ 0.9429998397827148,
+ 1.1889996528625488,
+ 1.3519997596740723,
+ 1.5299997329711914,
+ 1.987999439239502,
+ 2.247000217437744,
+ 2.490999698638916,
+ 2.7820000648498535,
+ 3.0510001182556152
+ ],
+ "yaxis": "y"
+ },
+ {
+ "marker": {
+ "color": "black"
+ },
+ "mode": "lines",
+ "name": "markers",
+ "showlegend": false,
+ "type": "scatter",
+ "x": [
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11
+ ],
+ "xaxis": "x",
+ "y": [
+ 0.7269997596740723,
+ 0.7829999923706055,
+ 0.9439997673034668,
+ 1.1949996948242188,
+ 1.5229997634887695,
+ 1.9099998474121094,
+ 2.119999408721924,
+ 2.482999324798584,
+ 3.007999897003174,
+ 3.4129996299743652,
+ 3.1459994316101074
+ ],
+ "yaxis": "y"
+ },
+ {
+ "marker": {
+ "color": "black"
+ },
+ "mode": "lines",
+ "name": "markers",
+ "showlegend": false,
+ "type": "scatter",
+ "x": [
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11
+ ],
+ "xaxis": "x",
+ "y": [
+ -2.8380002975463867,
+ -2.829000234603882,
+ -2.8000001907348633,
+ -2.752000093460083,
+ -2.686000108718872,
+ -2.6010003089904785,
+ -2.499000310897827,
+ -2.381000280380249,
+ -2.249000310897827,
+ -2.117000102996826,
+ -2.0410003662109375
+ ],
+ "yaxis": "y"
+ },
+ {
+ "marker": {
+ "color": "black"
+ },
+ "mode": "lines",
+ "name": "markers",
+ "showlegend": false,
+ "type": "scatter",
+ "x": [
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11
+ ],
+ "xaxis": "x",
+ "y": [
+ -0.20100021362304688,
+ -0.2910003662109375,
+ -0.5320000648498535,
+ -0.8680000305175781,
+ -1.258000373840332,
+ -1.6770000457763672,
+ -2.1100001335144043,
+ -2.381000280380249,
+ -2.249000310897827,
+ -2.116000175476074,
+ -2.0400004386901855
+ ],
+ "yaxis": "y"
+ },
+ {
+ "marker": {
+ "color": "black"
+ },
+ "mode": "lines",
+ "name": "markers",
+ "showlegend": false,
+ "type": "scatter",
+ "x": [
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11
+ ],
+ "xaxis": "x",
+ "y": [
+ 0,
+ -0.04700040817260742,
+ -0.17600011825561523,
+ -0.3600001335144043,
+ -0.574000358581543,
+ -0.8000001907348633,
+ -1.0270004272460938,
+ -1.248000144958496,
+ -1.4539999961853027,
+ -1.633000373840332,
+ -1.7250003814697266
+ ],
+ "yaxis": "y"
+ },
+ {
+ "marker": {
+ "color": "black"
+ },
+ "mode": "lines",
+ "name": "markers",
+ "showlegend": false,
+ "type": "scatter",
+ "x": [
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11
+ ],
+ "xaxis": "x",
+ "y": [
+ 0,
+ -0.04700040817260742,
+ -0.17600011825561523,
+ -0.3600001335144043,
+ -0.573000431060791,
+ -0.7990002632141113,
+ -1.0270004272460938,
+ -1.2470002174377441,
+ -1.4530000686645508,
+ -1.6319999694824219,
+ -1.7230000495910645
+ ],
+ "yaxis": "y"
+ },
+ {
+ "marker": {
+ "color": "black"
+ },
+ "mode": "lines",
+ "name": "markers",
+ "showlegend": false,
+ "type": "scatter",
+ "x": [
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11
+ ],
+ "xaxis": "x2",
+ "y": [
+ 0.2779998779296875,
+ 0.22499990463256836,
+ 0.15700006484985352,
+ 0.11800003051757812,
+ 0.10799980163574219,
+ 0.12599992752075195,
+ 0.16900014877319336,
+ 0.2350001335144043,
+ 0.31999969482421875,
+ 0.40799999237060547,
+ 0.4549999237060547
+ ],
+ "yaxis": "y2"
+ },
+ {
+ "marker": {
+ "color": "black"
+ },
+ "mode": "lines",
+ "name": "markers",
+ "showlegend": false,
+ "type": "scatter",
+ "x": [
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11
+ ],
+ "xaxis": "x2",
+ "y": [
+ 0.44299983978271484,
+ 0.5110001564025879,
+ 0.6459999084472656,
+ 0.8239998817443848,
+ 1.0260000228881836,
+ 1.2179999351501465,
+ 1.2649998664855957,
+ 1.1440000534057617,
+ 0.9899997711181641,
+ 0.8540000915527344,
+ 0.7899999618530273
+ ],
+ "yaxis": "y2"
+ },
+ {
+ "marker": {
+ "color": "black"
+ },
+ "mode": "lines",
+ "name": "markers",
+ "showlegend": false,
+ "type": "scatter",
+ "x": [
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11
+ ],
+ "xaxis": "x2",
+ "y": [
+ 0.45200014114379883,
+ 0.5130000114440918,
+ 0.7129998207092285,
+ 1.0169997215270996,
+ 1.3990001678466797,
+ 1.7059998512268066,
+ 1.750999927520752,
+ 1.9920001029968262,
+ 2.2950000762939453,
+ 2.61199951171875,
+ 2.866000175476074
+ ],
+ "yaxis": "y2"
+ },
+ {
+ "marker": {
+ "color": "black"
+ },
+ "mode": "lines",
+ "name": "markers",
+ "showlegend": false,
+ "type": "scatter",
+ "x": [
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11
+ ],
+ "xaxis": "x2",
+ "y": [
+ 0.9159998893737793,
+ 0.9769997596740723,
+ 1.1560001373291016,
+ 1.434000015258789,
+ 1.7890000343322754,
+ 1.8410000801086426,
+ 2.3289999961853027,
+ 2.8520002365112305,
+ 3.371000289916992,
+ 3.201000213623047,
+ 2.991999626159668
+ ],
+ "yaxis": "y2"
+ },
+ {
+ "marker": {
+ "color": "black"
+ },
+ "mode": "lines",
+ "name": "markers",
+ "showlegend": false,
+ "type": "scatter",
+ "x": [
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11
+ ],
+ "xaxis": "x2",
+ "y": [
+ -2.6579999923706055,
+ -2.699000120162964,
+ -2.81000018119812,
+ -2.9650001525878906,
+ -3.0380001068115234,
+ -2.949000120162964,
+ -2.8420000076293945,
+ -2.7180001735687256,
+ -2.580000162124634,
+ -2.440000057220459,
+ -2.3589999675750732
+ ],
+ "yaxis": "y2"
+ },
+ {
+ "marker": {
+ "color": "black"
+ },
+ "mode": "lines",
+ "name": "markers",
+ "showlegend": false,
+ "type": "scatter",
+ "x": [
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11
+ ],
+ "xaxis": "x2",
+ "y": [
+ -0.3299999237060547,
+ -0.3730001449584961,
+ -0.4930000305175781,
+ -0.7760000228881836,
+ -1.184999942779541,
+ -1.6060001850128174,
+ -2.0299999713897705,
+ -2.453000068664551,
+ -2.580000162124634,
+ -2.440000057220459,
+ -2.3580000400543213
+ ],
+ "yaxis": "y2"
+ },
+ {
+ "marker": {
+ "color": "black"
+ },
+ "mode": "lines",
+ "name": "markers",
+ "showlegend": false,
+ "type": "scatter",
+ "x": [
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11
+ ],
+ "xaxis": "x2",
+ "y": [
+ -0.3299999237060547,
+ -0.3730001449584961,
+ -0.4930000305175781,
+ -0.6680002212524414,
+ -0.875999927520752,
+ -1.0999999046325684,
+ -1.3280000686645508,
+ -1.5520000457763672,
+ -1.7640001773834229,
+ -1.9490001201629639,
+ -2.0460000038146973
+ ],
+ "yaxis": "y2"
+ },
+ {
+ "marker": {
+ "color": "black"
+ },
+ "mode": "lines",
+ "name": "markers",
+ "showlegend": false,
+ "type": "scatter",
+ "x": [
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11
+ ],
+ "xaxis": "x2",
+ "y": [
+ 0,
+ -0.11100006103515625,
+ -0.40000009536743164,
+ -0.6680002212524414,
+ -0.875999927520752,
+ -1.0999999046325684,
+ -1.3280000686645508,
+ -1.5520000457763672,
+ -1.7630000114440918,
+ -1.9479999542236328,
+ -2.0450000762939453
+ ],
+ "yaxis": "y2"
+ },
+ {
+ "marker": {
+ "color": "black"
+ },
+ "mode": "lines",
+ "name": "markers",
+ "showlegend": false,
+ "type": "scatter",
+ "x": [
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11
+ ],
+ "xaxis": "x3",
+ "y": [
+ 0.10299968719482422,
+ 0.15999984741210938,
+ 0.32399988174438477,
+ 0.5789999961853027,
+ 0.7129998207092285,
+ 0.7399997711181641,
+ 0.7839999198913574,
+ 0.8429999351501465,
+ 0.9109997749328613,
+ 0.9739999771118164,
+ 1.0029997825622559
+ ],
+ "yaxis": "y3"
+ },
+ {
+ "marker": {
+ "color": "black"
+ },
+ "mode": "lines",
+ "name": "markers",
+ "showlegend": false,
+ "type": "scatter",
+ "x": [
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11
+ ],
+ "xaxis": "x3",
+ "y": [
+ 0.31099987030029297,
+ 0.36099958419799805,
+ 0.5089998245239258,
+ 0.7019996643066406,
+ 0.9089999198913574,
+ 1.2979998588562012,
+ 1.6929998397827148,
+ 1.680999755859375,
+ 1.5799999237060547,
+ 1.4839997291564941,
+ 1.4429998397827148
+ ],
+ "yaxis": "y3"
+ },
+ {
+ "marker": {
+ "color": "black"
+ },
+ "mode": "lines",
+ "name": "markers",
+ "showlegend": false,
+ "type": "scatter",
+ "x": [
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11
+ ],
+ "xaxis": "x3",
+ "y": [
+ 0.3129997253417969,
+ 0.3639998435974121,
+ 0.5109996795654297,
+ 0.740999698638916,
+ 1.0439996719360352,
+ 1.4069995880126953,
+ 1.735999584197998,
+ 2.1549997329711914,
+ 2.34999942779541,
+ 2.572999954223633,
+ 2.743000030517578
+ ],
+ "yaxis": "y3"
+ },
+ {
+ "marker": {
+ "color": "black"
+ },
+ "mode": "lines",
+ "name": "markers",
+ "showlegend": false,
+ "type": "scatter",
+ "x": [
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11
+ ],
+ "xaxis": "x3",
+ "y": [
+ 0.6589999198913574,
+ 0.6999998092651367,
+ 0.7039999961853027,
+ 0.7439999580383301,
+ 1.0469999313354492,
+ 1.4089999198913574,
+ 1.8169994354248047,
+ 2.2139997482299805,
+ 2.7259998321533203,
+ 3.0029993057250977,
+ 2.871999740600586
+ ],
+ "yaxis": "y3"
+ },
+ {
+ "marker": {
+ "color": "black"
+ },
+ "mode": "lines",
+ "name": "markers",
+ "showlegend": false,
+ "type": "scatter",
+ "x": [
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11
+ ],
+ "xaxis": "x3",
+ "y": [
+ -2.9070003032684326,
+ -2.8980002403259277,
+ -2.869000196456909,
+ -2.821000337600708,
+ -2.755000352859497,
+ -2.6700003147125244,
+ -2.570000171661377,
+ -2.451000213623047,
+ -2.319000244140625,
+ -2.186000347137451,
+ -2.1100001335144043
+ ],
+ "yaxis": "y3"
+ },
+ {
+ "marker": {
+ "color": "black"
+ },
+ "mode": "lines",
+ "name": "markers",
+ "showlegend": false,
+ "type": "scatter",
+ "x": [
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11
+ ],
+ "xaxis": "x3",
+ "y": [
+ -0.5620002746582031,
+ -0.7310004234313965,
+ -1.1020002365112305,
+ -1.5410003662109375,
+ -2.004000186920166,
+ -2.4760003089904785,
+ -2.568000316619873,
+ -2.449000120162964,
+ -2.317000150680542,
+ -2.185000419616699,
+ -2.1090002059936523
+ ],
+ "yaxis": "y3"
+ },
+ {
+ "marker": {
+ "color": "black"
+ },
+ "mode": "lines",
+ "name": "markers",
+ "showlegend": false,
+ "type": "scatter",
+ "x": [
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11
+ ],
+ "xaxis": "x3",
+ "y": [
+ -0.008000373840332031,
+ -0.05900001525878906,
+ -0.19800043106079102,
+ -0.3920001983642578,
+ -0.6140003204345703,
+ -0.8480000495910645,
+ -1.0810003280639648,
+ -1.3050003051757812,
+ -1.514000415802002,
+ -1.695000171661377,
+ -1.7860002517700195
+ ],
+ "yaxis": "y3"
+ },
+ {
+ "marker": {
+ "color": "black"
+ },
+ "mode": "lines",
+ "name": "markers",
+ "showlegend": false,
+ "type": "scatter",
+ "x": [
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11
+ ],
+ "xaxis": "x3",
+ "y": [
+ 0,
+ -0.05200004577636719,
+ -0.19100046157836914,
+ -0.3860001564025879,
+ -0.6090002059936523,
+ -0.8430004119873047,
+ -1.0770001411437988,
+ -1.3010001182556152,
+ -1.511000156402588,
+ -1.6910004615783691,
+ -1.7820000648498535
+ ],
+ "yaxis": "y3"
+ },
+ {
+ "marker": {
+ "color": "black"
+ },
+ "mode": "lines",
+ "name": "markers",
+ "showlegend": false,
+ "type": "scatter",
+ "x": [
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11
+ ],
+ "xaxis": "x4",
+ "y": [
+ 0.26599979400634766,
+ 0.46899986267089844,
+ 0.48599958419799805,
+ 0.4679999351501465,
+ 0.4649996757507324,
+ 0.4829998016357422,
+ 0.5219998359680176,
+ 0.5809998512268066,
+ 0.6529998779296875,
+ 0.7259998321533203,
+ 0.7619996070861816
+ ],
+ "yaxis": "y4"
+ },
+ {
+ "marker": {
+ "color": "black"
+ },
+ "mode": "lines",
+ "name": "markers",
+ "showlegend": false,
+ "type": "scatter",
+ "x": [
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11
+ ],
+ "xaxis": "x4",
+ "y": [
+ 0.5809998512268066,
+ 0.6429996490478516,
+ 0.8209996223449707,
+ 1.0959997177124023,
+ 1.304999828338623,
+ 1.485999584197998,
+ 1.566999912261963,
+ 1.4639997482299805,
+ 1.3229999542236328,
+ 1.2029995918273926,
+ 1.1509995460510254
+ ],
+ "yaxis": "y4"
+ },
+ {
+ "marker": {
+ "color": "black"
+ },
+ "mode": "lines",
+ "name": "markers",
+ "showlegend": false,
+ "type": "scatter",
+ "x": [
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11
+ ],
+ "xaxis": "x4",
+ "y": [
+ 0.6429996490478516,
+ 0.7389998435974121,
+ 0.9670000076293945,
+ 1.125,
+ 1.4479999542236328,
+ 1.860999584197998,
+ 1.9210000038146973,
+ 2.0979995727539062,
+ 2.3359999656677246,
+ 2.5709996223449707,
+ 2.7290000915527344
+ ],
+ "yaxis": "y4"
+ },
+ {
+ "marker": {
+ "color": "black"
+ },
+ "mode": "lines",
+ "name": "markers",
+ "showlegend": false,
+ "type": "scatter",
+ "x": [
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11
+ ],
+ "xaxis": "x4",
+ "y": [
+ 0.7659997940063477,
+ 0.8219995498657227,
+ 0.9829998016357422,
+ 1.235999584197998,
+ 1.5639996528625488,
+ 1.9429998397827148,
+ 2.3209996223449707,
+ 2.8199996948242188,
+ 2.9770002365112305,
+ 2.9469995498657227,
+ 2.856999397277832
+ ],
+ "yaxis": "y4"
+ },
+ {
+ "marker": {
+ "color": "black"
+ },
+ "mode": "lines",
+ "name": "markers",
+ "showlegend": false,
+ "type": "scatter",
+ "x": [
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11
+ ],
+ "xaxis": "x4",
+ "y": [
+ -2.7320001125335693,
+ -2.765000343322754,
+ -2.8560001850128174,
+ -2.8590002059936523,
+ -2.7910001277923584,
+ -2.70300030708313,
+ -2.5980002880096436,
+ -2.4760003089904785,
+ -2.3400001525878906,
+ -2.20300030708313,
+ -2.123000144958496
+ ],
+ "yaxis": "y4"
+ },
+ {
+ "marker": {
+ "color": "black"
+ },
+ "mode": "lines",
+ "name": "markers",
+ "showlegend": false,
+ "type": "scatter",
+ "x": [
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11
+ ],
+ "xaxis": "x4",
+ "y": [
+ -0.0710000991821289,
+ -0.33100032806396484,
+ -0.7780003547668457,
+ -1.2320003509521484,
+ -1.6870002746582031,
+ -2.138000249862671,
+ -2.5840001106262207,
+ -2.4750001430511475,
+ -2.3400001525878906,
+ -2.202000141143799,
+ -2.123000144958496
+ ],
+ "yaxis": "y4"
+ },
+ {
+ "marker": {
+ "color": "black"
+ },
+ "mode": "lines",
+ "name": "markers",
+ "showlegend": false,
+ "type": "scatter",
+ "x": [
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11
+ ],
+ "xaxis": "x4",
+ "y": [
+ -0.0710000991821289,
+ -0.11700010299682617,
+ -0.24300003051757812,
+ -0.42400026321411133,
+ -0.6370000839233398,
+ -0.8650002479553223,
+ -1.0950002670288086,
+ -1.318000316619873,
+ -1.5290002822875977,
+ -1.7130002975463867,
+ -1.8080003261566162
+ ],
+ "yaxis": "y4"
+ },
+ {
+ "marker": {
+ "color": "black"
+ },
+ "mode": "lines",
+ "name": "markers",
+ "showlegend": false,
+ "type": "scatter",
+ "x": [
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11
+ ],
+ "xaxis": "x4",
+ "y": [
+ 0,
+ -0.11600017547607422,
+ -0.24300003051757812,
+ -0.42400026321411133,
+ -0.6370000839233398,
+ -0.8640003204345703,
+ -1.0940003395080566,
+ -1.318000316619873,
+ -1.5290002822875977,
+ -1.7120001316070557,
+ -1.8070001602172852
+ ],
+ "yaxis": "y4"
+ },
+ {
+ "line": {
+ "color": "RoyalBlue",
+ "dash": "dot",
+ "width": 3
+ },
+ "mode": "lines",
+ "name": "markers",
+ "showlegend": false,
+ "type": "scatter",
+ "x": [
+ 1,
+ 11
+ ],
+ "xaxis": "x",
+ "y": [
+ 0,
+ 0
+ ],
+ "yaxis": "y"
+ },
+ {
+ "line": {
+ "color": "RoyalBlue",
+ "dash": "dot",
+ "width": 3
+ },
+ "mode": "lines",
+ "name": "markers",
+ "showlegend": false,
+ "type": "scatter",
+ "x": [
+ 1,
+ 11
+ ],
+ "xaxis": "x2",
+ "y": [
+ 0,
+ 0
+ ],
+ "yaxis": "y2"
+ },
+ {
+ "line": {
+ "color": "RoyalBlue",
+ "dash": "dot",
+ "width": 3
+ },
+ "mode": "lines",
+ "name": "markers",
+ "showlegend": false,
+ "type": "scatter",
+ "x": [
+ 1,
+ 11
+ ],
+ "xaxis": "x3",
+ "y": [
+ 0,
+ 0
+ ],
+ "yaxis": "y3"
+ },
+ {
+ "line": {
+ "color": "RoyalBlue",
+ "dash": "dot",
+ "width": 3
+ },
+ "mode": "lines",
+ "name": "markers",
+ "showlegend": false,
+ "type": "scatter",
+ "x": [
+ 1,
+ 11
+ ],
+ "xaxis": "x4",
+ "y": [
+ 0,
+ 0
+ ],
+ "yaxis": "y4"
+ }
+ ],
+ "layout": {
+ "annotations": [
+ {
+ "font": {
+ "size": 16
+ },
+ "showarrow": false,
+ "text": "Si1Ge3 strain 0%",
+ "x": 0.225,
+ "xanchor": "center",
+ "xref": "paper",
+ "y": 1,
+ "yanchor": "bottom",
+ "yref": "paper"
+ },
+ {
+ "font": {
+ "size": 16
+ },
+ "showarrow": false,
+ "text": " Si1G3 strain 5%",
+ "x": 0.775,
+ "xanchor": "center",
+ "xref": "paper",
+ "y": 1,
+ "yanchor": "bottom",
+ "yref": "paper"
+ },
+ {
+ "font": {
+ "size": 16
+ },
+ "showarrow": false,
+ "text": "S3Ge1 strain 0%",
+ "x": 0.225,
+ "xanchor": "center",
+ "xref": "paper",
+ "y": 0.48,
+ "yanchor": "bottom",
+ "yref": "paper"
+ },
+ {
+ "font": {
+ "size": 16
+ },
+ "showarrow": false,
+ "text": "Si3Ge1 strain 5%",
+ "x": 0.775,
+ "xanchor": "center",
+ "xref": "paper",
+ "y": 0.48,
+ "yanchor": "bottom",
+ "yref": "paper"
+ }
+ ],
+ "height": 1450,
+ "plot_bgcolor": "white",
+ "template": {
+ "data": {
+ "bar": [
+ {
+ "error_x": {
+ "color": "#2a3f5f"
+ },
+ "error_y": {
+ "color": "#2a3f5f"
+ },
+ "marker": {
+ "line": {
+ "color": "#E5ECF6",
+ "width": 0.5
+ }
+ },
+ "type": "bar"
+ }
+ ],
+ "barpolar": [
+ {
+ "marker": {
+ "line": {
+ "color": "#E5ECF6",
+ "width": 0.5
+ }
+ },
+ "type": "barpolar"
+ }
+ ],
+ "carpet": [
+ {
+ "aaxis": {
+ "endlinecolor": "#2a3f5f",
+ "gridcolor": "white",
+ "linecolor": "white",
+ "minorgridcolor": "white",
+ "startlinecolor": "#2a3f5f"
+ },
+ "baxis": {
+ "endlinecolor": "#2a3f5f",
+ "gridcolor": "white",
+ "linecolor": "white",
+ "minorgridcolor": "white",
+ "startlinecolor": "#2a3f5f"
+ },
+ "type": "carpet"
+ }
+ ],
+ "choropleth": [
+ {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ },
+ "type": "choropleth"
+ }
+ ],
+ "contour": [
+ {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ },
+ "colorscale": [
+ [
+ 0,
+ "#0d0887"
+ ],
+ [
+ 0.1111111111111111,
+ "#46039f"
+ ],
+ [
+ 0.2222222222222222,
+ "#7201a8"
+ ],
+ [
+ 0.3333333333333333,
+ "#9c179e"
+ ],
+ [
+ 0.4444444444444444,
+ "#bd3786"
+ ],
+ [
+ 0.5555555555555556,
+ "#d8576b"
+ ],
+ [
+ 0.6666666666666666,
+ "#ed7953"
+ ],
+ [
+ 0.7777777777777778,
+ "#fb9f3a"
+ ],
+ [
+ 0.8888888888888888,
+ "#fdca26"
+ ],
+ [
+ 1,
+ "#f0f921"
+ ]
+ ],
+ "type": "contour"
+ }
+ ],
+ "contourcarpet": [
+ {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ },
+ "type": "contourcarpet"
+ }
+ ],
+ "heatmap": [
+ {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ },
+ "colorscale": [
+ [
+ 0,
+ "#0d0887"
+ ],
+ [
+ 0.1111111111111111,
+ "#46039f"
+ ],
+ [
+ 0.2222222222222222,
+ "#7201a8"
+ ],
+ [
+ 0.3333333333333333,
+ "#9c179e"
+ ],
+ [
+ 0.4444444444444444,
+ "#bd3786"
+ ],
+ [
+ 0.5555555555555556,
+ "#d8576b"
+ ],
+ [
+ 0.6666666666666666,
+ "#ed7953"
+ ],
+ [
+ 0.7777777777777778,
+ "#fb9f3a"
+ ],
+ [
+ 0.8888888888888888,
+ "#fdca26"
+ ],
+ [
+ 1,
+ "#f0f921"
+ ]
+ ],
+ "type": "heatmap"
+ }
+ ],
+ "heatmapgl": [
+ {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ },
+ "colorscale": [
+ [
+ 0,
+ "#0d0887"
+ ],
+ [
+ 0.1111111111111111,
+ "#46039f"
+ ],
+ [
+ 0.2222222222222222,
+ "#7201a8"
+ ],
+ [
+ 0.3333333333333333,
+ "#9c179e"
+ ],
+ [
+ 0.4444444444444444,
+ "#bd3786"
+ ],
+ [
+ 0.5555555555555556,
+ "#d8576b"
+ ],
+ [
+ 0.6666666666666666,
+ "#ed7953"
+ ],
+ [
+ 0.7777777777777778,
+ "#fb9f3a"
+ ],
+ [
+ 0.8888888888888888,
+ "#fdca26"
+ ],
+ [
+ 1,
+ "#f0f921"
+ ]
+ ],
+ "type": "heatmapgl"
+ }
+ ],
+ "histogram": [
+ {
+ "marker": {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ }
+ },
+ "type": "histogram"
+ }
+ ],
+ "histogram2d": [
+ {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ },
+ "colorscale": [
+ [
+ 0,
+ "#0d0887"
+ ],
+ [
+ 0.1111111111111111,
+ "#46039f"
+ ],
+ [
+ 0.2222222222222222,
+ "#7201a8"
+ ],
+ [
+ 0.3333333333333333,
+ "#9c179e"
+ ],
+ [
+ 0.4444444444444444,
+ "#bd3786"
+ ],
+ [
+ 0.5555555555555556,
+ "#d8576b"
+ ],
+ [
+ 0.6666666666666666,
+ "#ed7953"
+ ],
+ [
+ 0.7777777777777778,
+ "#fb9f3a"
+ ],
+ [
+ 0.8888888888888888,
+ "#fdca26"
+ ],
+ [
+ 1,
+ "#f0f921"
+ ]
+ ],
+ "type": "histogram2d"
+ }
+ ],
+ "histogram2dcontour": [
+ {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ },
+ "colorscale": [
+ [
+ 0,
+ "#0d0887"
+ ],
+ [
+ 0.1111111111111111,
+ "#46039f"
+ ],
+ [
+ 0.2222222222222222,
+ "#7201a8"
+ ],
+ [
+ 0.3333333333333333,
+ "#9c179e"
+ ],
+ [
+ 0.4444444444444444,
+ "#bd3786"
+ ],
+ [
+ 0.5555555555555556,
+ "#d8576b"
+ ],
+ [
+ 0.6666666666666666,
+ "#ed7953"
+ ],
+ [
+ 0.7777777777777778,
+ "#fb9f3a"
+ ],
+ [
+ 0.8888888888888888,
+ "#fdca26"
+ ],
+ [
+ 1,
+ "#f0f921"
+ ]
+ ],
+ "type": "histogram2dcontour"
+ }
+ ],
+ "mesh3d": [
+ {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ },
+ "type": "mesh3d"
+ }
+ ],
+ "parcoords": [
+ {
+ "line": {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ }
+ },
+ "type": "parcoords"
+ }
+ ],
+ "pie": [
+ {
+ "automargin": true,
+ "type": "pie"
+ }
+ ],
+ "scatter": [
+ {
+ "marker": {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ }
+ },
+ "type": "scatter"
+ }
+ ],
+ "scatter3d": [
+ {
+ "line": {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ }
+ },
+ "marker": {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ }
+ },
+ "type": "scatter3d"
+ }
+ ],
+ "scattercarpet": [
+ {
+ "marker": {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ }
+ },
+ "type": "scattercarpet"
+ }
+ ],
+ "scattergeo": [
+ {
+ "marker": {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ }
+ },
+ "type": "scattergeo"
+ }
+ ],
+ "scattergl": [
+ {
+ "marker": {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ }
+ },
+ "type": "scattergl"
+ }
+ ],
+ "scattermapbox": [
+ {
+ "marker": {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ }
+ },
+ "type": "scattermapbox"
+ }
+ ],
+ "scatterpolar": [
+ {
+ "marker": {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ }
+ },
+ "type": "scatterpolar"
+ }
+ ],
+ "scatterpolargl": [
+ {
+ "marker": {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ }
+ },
+ "type": "scatterpolargl"
+ }
+ ],
+ "scatterternary": [
+ {
+ "marker": {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ }
+ },
+ "type": "scatterternary"
+ }
+ ],
+ "surface": [
+ {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ },
+ "colorscale": [
+ [
+ 0,
+ "#0d0887"
+ ],
+ [
+ 0.1111111111111111,
+ "#46039f"
+ ],
+ [
+ 0.2222222222222222,
+ "#7201a8"
+ ],
+ [
+ 0.3333333333333333,
+ "#9c179e"
+ ],
+ [
+ 0.4444444444444444,
+ "#bd3786"
+ ],
+ [
+ 0.5555555555555556,
+ "#d8576b"
+ ],
+ [
+ 0.6666666666666666,
+ "#ed7953"
+ ],
+ [
+ 0.7777777777777778,
+ "#fb9f3a"
+ ],
+ [
+ 0.8888888888888888,
+ "#fdca26"
+ ],
+ [
+ 1,
+ "#f0f921"
+ ]
+ ],
+ "type": "surface"
+ }
+ ],
+ "table": [
+ {
+ "cells": {
+ "fill": {
+ "color": "#EBF0F8"
+ },
+ "line": {
+ "color": "white"
+ }
+ },
+ "header": {
+ "fill": {
+ "color": "#C8D4E3"
+ },
+ "line": {
+ "color": "white"
+ }
+ },
+ "type": "table"
+ }
+ ]
+ },
+ "layout": {
+ "annotationdefaults": {
+ "arrowcolor": "#2a3f5f",
+ "arrowhead": 0,
+ "arrowwidth": 1
+ },
+ "coloraxis": {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ }
+ },
+ "colorscale": {
+ "diverging": [
+ [
+ 0,
+ "#8e0152"
+ ],
+ [
+ 0.1,
+ "#c51b7d"
+ ],
+ [
+ 0.2,
+ "#de77ae"
+ ],
+ [
+ 0.3,
+ "#f1b6da"
+ ],
+ [
+ 0.4,
+ "#fde0ef"
+ ],
+ [
+ 0.5,
+ "#f7f7f7"
+ ],
+ [
+ 0.6,
+ "#e6f5d0"
+ ],
+ [
+ 0.7,
+ "#b8e186"
+ ],
+ [
+ 0.8,
+ "#7fbc41"
+ ],
+ [
+ 0.9,
+ "#4d9221"
+ ],
+ [
+ 1,
+ "#276419"
+ ]
+ ],
+ "sequential": [
+ [
+ 0,
+ "#0d0887"
+ ],
+ [
+ 0.1111111111111111,
+ "#46039f"
+ ],
+ [
+ 0.2222222222222222,
+ "#7201a8"
+ ],
+ [
+ 0.3333333333333333,
+ "#9c179e"
+ ],
+ [
+ 0.4444444444444444,
+ "#bd3786"
+ ],
+ [
+ 0.5555555555555556,
+ "#d8576b"
+ ],
+ [
+ 0.6666666666666666,
+ "#ed7953"
+ ],
+ [
+ 0.7777777777777778,
+ "#fb9f3a"
+ ],
+ [
+ 0.8888888888888888,
+ "#fdca26"
+ ],
+ [
+ 1,
+ "#f0f921"
+ ]
+ ],
+ "sequentialminus": [
+ [
+ 0,
+ "#0d0887"
+ ],
+ [
+ 0.1111111111111111,
+ "#46039f"
+ ],
+ [
+ 0.2222222222222222,
+ "#7201a8"
+ ],
+ [
+ 0.3333333333333333,
+ "#9c179e"
+ ],
+ [
+ 0.4444444444444444,
+ "#bd3786"
+ ],
+ [
+ 0.5555555555555556,
+ "#d8576b"
+ ],
+ [
+ 0.6666666666666666,
+ "#ed7953"
+ ],
+ [
+ 0.7777777777777778,
+ "#fb9f3a"
+ ],
+ [
+ 0.8888888888888888,
+ "#fdca26"
+ ],
+ [
+ 1,
+ "#f0f921"
+ ]
+ ]
+ },
+ "colorway": [
+ "#636efa",
+ "#EF553B",
+ "#00cc96",
+ "#ab63fa",
+ "#FFA15A",
+ "#19d3f3",
+ "#FF6692",
+ "#B6E880",
+ "#FF97FF",
+ "#FECB52"
+ ],
+ "font": {
+ "color": "#2a3f5f"
+ },
+ "geo": {
+ "bgcolor": "white",
+ "lakecolor": "white",
+ "landcolor": "#E5ECF6",
+ "showlakes": true,
+ "showland": true,
+ "subunitcolor": "white"
+ },
+ "hoverlabel": {
+ "align": "left"
+ },
+ "hovermode": "closest",
+ "mapbox": {
+ "style": "light"
+ },
+ "paper_bgcolor": "white",
+ "plot_bgcolor": "#E5ECF6",
+ "polar": {
+ "angularaxis": {
+ "gridcolor": "white",
+ "linecolor": "white",
+ "ticks": ""
+ },
+ "bgcolor": "#E5ECF6",
+ "radialaxis": {
+ "gridcolor": "white",
+ "linecolor": "white",
+ "ticks": ""
+ }
+ },
+ "scene": {
+ "xaxis": {
+ "backgroundcolor": "#E5ECF6",
+ "gridcolor": "white",
+ "gridwidth": 2,
+ "linecolor": "white",
+ "showbackground": true,
+ "ticks": "",
+ "zerolinecolor": "white"
+ },
+ "yaxis": {
+ "backgroundcolor": "#E5ECF6",
+ "gridcolor": "white",
+ "gridwidth": 2,
+ "linecolor": "white",
+ "showbackground": true,
+ "ticks": "",
+ "zerolinecolor": "white"
+ },
+ "zaxis": {
+ "backgroundcolor": "#E5ECF6",
+ "gridcolor": "white",
+ "gridwidth": 2,
+ "linecolor": "white",
+ "showbackground": true,
+ "ticks": "",
+ "zerolinecolor": "white"
+ }
+ },
+ "shapedefaults": {
+ "line": {
+ "color": "#2a3f5f"
+ }
+ },
+ "ternary": {
+ "aaxis": {
+ "gridcolor": "white",
+ "linecolor": "white",
+ "ticks": ""
+ },
+ "baxis": {
+ "gridcolor": "white",
+ "linecolor": "white",
+ "ticks": ""
+ },
+ "bgcolor": "#E5ECF6",
+ "caxis": {
+ "gridcolor": "white",
+ "linecolor": "white",
+ "ticks": ""
+ }
+ },
+ "title": {
+ "x": 0.05
+ },
+ "xaxis": {
+ "automargin": true,
+ "gridcolor": "white",
+ "linecolor": "white",
+ "ticks": "",
+ "title": {
+ "standoff": 15
+ },
+ "zerolinecolor": "white",
+ "zerolinewidth": 2
+ },
+ "yaxis": {
+ "automargin": true,
+ "gridcolor": "white",
+ "linecolor": "white",
+ "ticks": "",
+ "title": {
+ "standoff": 15
+ },
+ "zerolinecolor": "white",
+ "zerolinewidth": 2
+ }
+ }
+ },
+ "width": 900,
+ "xaxis": {
+ "anchor": "y",
+ "domain": [
+ 0,
+ 0.45
+ ],
+ "gridcolor": "lightgrey",
+ "gridwidth": 0.5,
+ "linecolor": "black",
+ "linewidth": 1,
+ "mirror": true,
+ "range": [
+ 1,
+ 11
+ ],
+ "showgrid": true,
+ "ticks": "inside",
+ "ticktext": [
+ "G",
+ "Z"
+ ],
+ "tickvals": [
+ 1,
+ 11
+ ]
+ },
+ "xaxis2": {
+ "anchor": "y2",
+ "domain": [
+ 0.55,
+ 1
+ ],
+ "gridcolor": "lightgrey",
+ "gridwidth": 0.5,
+ "linecolor": "black",
+ "linewidth": 1,
+ "mirror": true,
+ "range": [
+ 1,
+ 11
+ ],
+ "showgrid": true,
+ "ticks": "inside",
+ "ticktext": [
+ "G",
+ "Z"
+ ],
+ "tickvals": [
+ 1,
+ 11
+ ]
+ },
+ "xaxis3": {
+ "anchor": "y3",
+ "domain": [
+ 0,
+ 0.45
+ ],
+ "gridcolor": "lightgrey",
+ "gridwidth": 0.5,
+ "linecolor": "black",
+ "linewidth": 1,
+ "mirror": true,
+ "range": [
+ 1,
+ 11
+ ],
+ "showgrid": true,
+ "ticks": "inside",
+ "ticktext": [
+ "G",
+ "Z"
+ ],
+ "tickvals": [
+ 1,
+ 11
+ ]
+ },
+ "xaxis4": {
+ "anchor": "y4",
+ "domain": [
+ 0.55,
+ 1
+ ],
+ "gridcolor": "lightgrey",
+ "gridwidth": 0.5,
+ "linecolor": "black",
+ "linewidth": 1,
+ "mirror": true,
+ "range": [
+ 1,
+ 11
+ ],
+ "showgrid": true,
+ "ticks": "inside",
+ "ticktext": [
+ "G",
+ "Z"
+ ],
+ "tickvals": [
+ 1,
+ 11
+ ]
+ },
+ "yaxis": {
+ "anchor": "x",
+ "domain": [
+ 0.52,
+ 1
+ ],
+ "gridcolor": "lightgrey",
+ "gridwidth": 0.5,
+ "linecolor": "black",
+ "linewidth": 1,
+ "mirror": true,
+ "showgrid": true,
+ "ticks": "inside",
+ "title": {
+ "text": "Energy, eV"
+ }
+ },
+ "yaxis2": {
+ "anchor": "x2",
+ "domain": [
+ 0.52,
+ 1
+ ],
+ "gridcolor": "lightgrey",
+ "gridwidth": 0.5,
+ "linecolor": "black",
+ "linewidth": 1,
+ "mirror": true,
+ "showgrid": true,
+ "ticks": "inside",
+ "title": {
+ "text": "Energy, eV"
+ }
+ },
+ "yaxis3": {
+ "anchor": "x3",
+ "domain": [
+ 0,
+ 0.48
+ ],
+ "gridcolor": "lightgrey",
+ "gridwidth": 0.5,
+ "linecolor": "black",
+ "linewidth": 1,
+ "mirror": true,
+ "showgrid": true,
+ "ticks": "inside",
+ "title": {
+ "text": "Energy, eV"
+ }
+ },
+ "yaxis4": {
+ "anchor": "x4",
+ "domain": [
+ 0,
+ 0.48
+ ],
+ "gridcolor": "lightgrey",
+ "gridwidth": 0.5,
+ "linecolor": "black",
+ "linewidth": 1,
+ "mirror": true,
+ "showgrid": true,
+ "ticks": "inside",
+ "title": {
+ "text": "Energy, eV"
+ }
+ }
+ }
+ },
+ "text/html": [
+ "\n",
+ " \n",
+ " \n",
+ "
\n",
+ " \n",
+ "
"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "### EXAMPLE OF READING DAT WITH MODE=\"Auto\" ###\n",
+ "\n",
+ "\"\"\"\n",
+ "read QE output file with bands for 0% and 5% strain and different composition\n",
+ "reshape data: 8 bands 11 k-points\n",
+ "In this case the fermi level is not specified,\n",
+ "it is automatically placed at the top of the valence zone\n",
+ "\"\"\"\n",
+ "\n",
+ "data=read_data('bands/si1ge3_0.dat')\n",
+ "si1ge3_0=data.read_bands_ml(mode='Auto', bands_num=4)\n",
+ "si1ge3_0=si1ge3_0.reshape(8,11)\n",
+ "\n",
+ "data=read_data('bands/si1ge3_5.dat')\n",
+ "si1ge3_5=data.read_bands_ml(mode='Auto', bands_num=4)\n",
+ "si1ge3_5=si1ge3_5.reshape(8,11)\n",
+ "\n",
+ "data=read_data('bands/si3ge1_0.dat')\n",
+ "si3ge1_0=data.read_bands_ml(mode='Auto', bands_num=4)\n",
+ "si3ge1_0=si3ge1_0.reshape(8,11)\n",
+ "\n",
+ "data=read_data('bands/si3ge1_5.dat')\n",
+ "si3ge1_5=data.read_bands_ml(mode='Auto', bands_num=4)\n",
+ "si3ge1_5=si3ge1_5.reshape(8,11)\n",
+ "\n",
+ "\n",
+ "fig = make_subplots(rows=2, cols=2,\n",
+ " subplot_titles=(\"Si1Ge3 strain 0%\", \" Si1G3 strain 5%\", 'S3Ge1 strain 0%', 'Si3Ge1 strain 5%'),\n",
+ " vertical_spacing=0.04)\n",
+ "\n",
+ "for i in range(si3ge1_0.shape[0]):\n",
+ " fig.add_trace(go.Scatter(x=np.arange(1,12,1), y=si3ge1_0[i],\n",
+ " mode='lines', marker=dict(color='black'), showlegend=False, \n",
+ " name='markers'), col=1, row=1) \n",
+ "for i in range(si3ge1_5.shape[0]):\n",
+ " fig.add_trace(go.Scatter(x=np.arange(1,12,1), y=si3ge1_5[i],\n",
+ " mode='lines', marker=dict(color='black'), showlegend=False, \n",
+ " name='markers'), col=2, row=1) \n",
+ "for i in range(si1ge3_0.shape[0]):\n",
+ " fig.add_trace(go.Scatter(x=np.arange(1,12,1), y=si1ge3_0[i],\n",
+ " mode='lines', marker=dict(color='black'), showlegend=False, \n",
+ " name='markers'), col=1, row=2) \n",
+ "for i in range(si1ge3_5.shape[0]):\n",
+ " fig.add_trace(go.Scatter(x=np.arange(1,12,1), y=si1ge3_5[i],\n",
+ " mode='lines', marker=dict(color='black'), showlegend=False, \n",
+ " name='markers'), col=2, row=2) \n",
+ " \n",
+ "fig.add_trace(go.Scatter(x=[1,11], y=[0,0],\n",
+ " mode='lines', line=dict(color= \"RoyalBlue\",width=3, dash='dot'), showlegend=False, \n",
+ " name='markers'), col=1, row=1) \n",
+ "fig.add_trace(go.Scatter(x=[1,11], y=[0,0],\n",
+ " mode='lines', line=dict(color= \"RoyalBlue\",width=3, dash='dot'), showlegend=False, \n",
+ " name='markers'), col=2, row=1) \n",
+ "fig.add_trace(go.Scatter(x=[1,11], y=[0,0],\n",
+ " mode='lines', line=dict(color= \"RoyalBlue\",width=3, dash='dot'), showlegend=False, \n",
+ " name='markers'), col=1, row=2) \n",
+ "fig.add_trace(go.Scatter(x=[1,11], y=[0,0],\n",
+ " mode='lines', line=dict(color= \"RoyalBlue\",width=3, dash='dot'), showlegend=False, \n",
+ " name='markers'), col=2, row=2) \n",
+ "fig.update_xaxes(showgrid=True, \n",
+ " gridwidth=0.5, \n",
+ " gridcolor='lightgrey', \n",
+ " ticks='inside' , \n",
+ " linecolor= 'black', \n",
+ " linewidth= 1,\n",
+ " mirror= True,\n",
+ " ticktext=['G', 'Z'],\n",
+ " tickvals=[1,11],\n",
+ " range=[1,11],\n",
+ " )\n",
+ "fig.update_yaxes(title='Energy, eV', \n",
+ " showgrid=True, \n",
+ " gridwidth=0.5, \n",
+ " gridcolor='lightgrey', \n",
+ " ticks='inside' , \n",
+ " linecolor= 'black',\n",
+ " linewidth= 1,\n",
+ " mirror= True,\n",
+ " )\n",
+ "\n",
+ "fig.update_layout(width=900, height=1450, plot_bgcolor='white')\n",
+ "fig.show()\n",
+ "\n",
+ "\"\"\"\n",
+ "I used only 11 k-points to produce these bandstructures,\n",
+ "therefore, the bandstructures look a bit ugly\n",
+ "We can see how conduction bands shift with applied strain\n",
+ "\"\"\""
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "metadata": {
+ "ExecuteTime": {
+ "end_time": "2021-10-29T20:09:11.732047Z",
+ "start_time": "2021-10-29T20:09:11.692038Z"
+ }
+ },
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "array([[10.34568286, 11.02820471, 0.25 ],\n",
+ " [10.45682864, 10.95544485, 0.25 ],\n",
+ " [10.56082864, 10.8812629 , 0.25 ],\n",
+ " [10.66056829, 10.81293885, 0.25 ],\n",
+ " [10.76056829, 10.74977523, 0.25 ],\n",
+ " [10.87056829, 10.67605785, 0.25 ],\n",
+ " [10.34568286, 10.79211782, 0.5 ],\n",
+ " [10.45682864, 10.71265005, 0.5 ],\n",
+ " [10.56082864, 10.64615759, 0.5 ],\n",
+ " [10.66056829, 10.57623403, 0.5 ],\n",
+ " [10.76056829, 10.50342487, 0.5 ],\n",
+ " [10.87056829, 10.42434959, 0.5 ],\n",
+ " [10.60789756, 10.61021975, 0.5 ],\n",
+ " [10.34568286, 10.5680025 , 0.75 ],\n",
+ " [10.45682864, 10.48979506, 0.75 ],\n",
+ " [10.56082864, 10.41511474, 0.75 ],\n",
+ " [10.66056829, 10.34128041, 0.75 ],\n",
+ " [10.76056829, 10.27133855, 0.75 ],\n",
+ " [10.87056829, 10.18915583, 0.75 ]])"
+ ]
+ },
+ "execution_count": 4,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "\"\"\" \n",
+ "reading cell parameters from all QE output xlm files\n",
+ "\"\"\"\n",
+ "\n",
+ "mypath='cell_param/'\n",
+ "filenames = next(walk(mypath), (None, None, []))[2]\n",
+ "\n",
+ "lattice=[]\n",
+ "fermi=[]\n",
+ "for file in filenames:\n",
+ " data=read_data(mypath+file)\n",
+ " (a, c, composition) = data.read_lattice_parameters()\n",
+ " lattice.append ([a, c, composition])\n",
+ "# Fermi energy could be obtained with: \n",
+ "# fermi_level = data.read_fermi_levle()\n",
+ "# fermi.append(fermi_level)\n",
+ " \n",
+ "X=lattice=np.array(lattice)\n",
+ "\n",
+ "X\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 36,
+ "metadata": {
+ "ExecuteTime": {
+ "end_time": "2021-10-29T02:23:48.178246Z",
+ "start_time": "2021-10-29T02:23:48.159233Z"
+ }
+ },
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "['si1ge3_0.xml',\n",
+ " 'si1ge3_1.xml',\n",
+ " 'si1ge3_2.xml',\n",
+ " 'si1ge3_3.xml',\n",
+ " 'si1ge3_4.xml',\n",
+ " 'si1ge3_5.xml',\n",
+ " 'si2ge2_0.xml',\n",
+ " 'si2ge2_1.xml',\n",
+ " 'si2ge2_2.xml',\n",
+ " 'si2ge2_3.xml',\n",
+ " 'si2ge2_4.xml',\n",
+ " 'si2ge2_5.xml',\n",
+ " 'si2ge2_relax.xml',\n",
+ " 'si3ge1_0.xml',\n",
+ " 'si3ge1_1.xml',\n",
+ " 'si3ge1_2.xml',\n",
+ " 'si3ge1_3.xml',\n",
+ " 'si3ge1_4.xml',\n",
+ " 'si3ge1_5.xml']"
+ ]
+ },
+ "execution_count": 36,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "filenames"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "metadata": {
+ "ExecuteTime": {
+ "end_time": "2021-10-29T20:09:14.289238Z",
+ "start_time": "2021-10-29T20:09:14.260232Z"
+ }
+ },
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "(19, 44)"
+ ]
+ },
+ "execution_count": 5,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "''' \n",
+ "reading bands from all QE output files \n",
+ "(output files are produced with band.x module)\n",
+ "'''\n",
+ "\n",
+ "mypath='bands/'\n",
+ "filenames = next(walk(mypath), (None, None, []))[2]\n",
+ "\n",
+ "y=[]\n",
+ "for i in range(len(filenames)):\n",
+ " data=read_data(mypath+filenames[i])\n",
+ " bands_ml=data.read_bands_ml(mode='Auto', bands_num=2)\n",
+ " y= np.append(y, bands_ml)\n",
+ "y=y.reshape(len(filenames),44)\n",
+ "y.shape"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# prepare data for modeling: split for training and testig sets"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 8,
+ "metadata": {
+ "ExecuteTime": {
+ "end_time": "2021-10-29T20:09:53.539674Z",
+ "start_time": "2021-10-29T20:09:47.109225Z"
+ }
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Time taken for RF: 0:00:06.364436\n",
+ "Train:\n",
+ "R^2:0.96 RMSE:0.02\n",
+ "Test:\n",
+ "R^2:1.0 RMSE: 0.02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "C:\\Users\\exx\\Anaconda3\\envs\\tensorflow\\lib\\site-packages\\sklearn\\base.py:434: FutureWarning:\n",
+ "\n",
+ "The default value of multioutput (not exposed in score method) will change from 'variance_weighted' to 'uniform_average' in 0.23 to keep consistent with 'metrics.r2_score'. To specify the default value manually and avoid the warning, please either call 'metrics.r2_score' directly or make a custom scorer with 'metrics.make_scorer' (the built-in scorer 'r2' uses multioutput='uniform_average').\n",
+ "\n"
+ ]
+ }
+ ],
+ "source": [
+ "my_data=data_preparation(X,y)\n",
+ "\n",
+ "#to manually specify testing set, use the following:\n",
+ "(X_train, X_test, Y_train, Y_test)=my_data.select_train_test(test_row_number=[12,16])\n",
+ "# for a random split use function:\n",
+ "#(X_train, X_test, Y_train, Y_test)=my_data.random_split(train_split=0.8, seed=42)\n",
+ "\n",
+ "my_model=modeling(X_train, Y_train, X_test, Y_test, scaler='None')\n",
+ "\n",
+ "#train Random forest model with No initial guess\n",
+ "(y_fit_RF, y_predict_RF, trials_RF, best_space_RF, regressorRF, text_RF)=my_model.RandomForest( max_evals=12, timeout=150*60,loss_threshold=0.01, cv=5, verbose=1)\n",
+ "\n",
+ "print(text_RF)\n",
+ "\n",
+ "\n",
+ "#"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 9,
+ "metadata": {
+ "ExecuteTime": {
+ "end_time": "2021-10-29T20:28:55.380238Z",
+ "start_time": "2021-10-29T20:10:22.332765Z"
+ }
+ },
+ "outputs": [
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "C:\\Users\\exx\\Anaconda3\\envs\\tensorflow\\lib\\site-packages\\xgboost\\core.py:614: UserWarning:\n",
+ "\n",
+ "Use subset (sliced data) of np.ndarray is not recommended because it will generate extra copies and increase memory consumption\n",
+ "\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Time taken for XGB: 0:18:31.542898\n",
+ "Train:\n",
+ "R^2:0.2 RMSE:0.1\n",
+ "Test:\n",
+ "R^2:1.0 RMSE: 0.06\n"
+ ]
+ }
+ ],
+ "source": [
+ "## MultiOutputRegressor is VERY SLOW!\n",
+ "## need more time to better understand MultiOutputRegressor\n",
+ "\n",
+ "#train XGboost model with initial guess\n",
+ "best_space = {'alpha': 0.0, 'max_depth': 3.0, 'min_split_loss': 5.6, 'n_estimators': 100, 'x_reg_lambda': 1.00, 'x_subsample': 1.0}\n",
+ "(y_fit_XG, y_predict_XG, trials_XG, best_space_XG, regressorXGB, text_XG)=my_model.XGB( max_evals=12, timeout=150*60,loss_threshold=0.01,cv=5, verbose=1, init_vals=[best_space])\n",
+ "print(text_XG)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# let's plot predicted bands vs calculated bands"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 11,
+ "metadata": {
+ "ExecuteTime": {
+ "end_time": "2021-10-29T20:30:04.049798Z",
+ "start_time": "2021-10-29T20:30:03.958778Z"
+ }
+ },
+ "outputs": [
+ {
+ "data": {
+ "application/vnd.plotly.v1+json": {
+ "config": {
+ "plotlyServerURL": "https://plot.ly"
+ },
+ "data": [
+ {
+ "marker": {
+ "color": "black"
+ },
+ "mode": "lines",
+ "name": "markers",
+ "showlegend": false,
+ "type": "scatter",
+ "x": [
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11
+ ],
+ "xaxis": "x",
+ "y": [
+ 0.42599964141845703,
+ 0.48799991607666016,
+ 0.5489997863769531,
+ 0.5269999504089355,
+ 0.5260000228881836,
+ 0.5460000038146973,
+ 0.5850000381469727,
+ 0.6389999389648438,
+ 0.7030000686645508,
+ 0.7599997520446777,
+ 0.7849998474121094
+ ],
+ "yaxis": "y"
+ },
+ {
+ "marker": {
+ "color": "black"
+ },
+ "mode": "lines",
+ "name": "markers",
+ "showlegend": false,
+ "type": "scatter",
+ "x": [
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11
+ ],
+ "xaxis": "x",
+ "y": [
+ 0.43899965286254883,
+ 0.5019998550415039,
+ 0.6679997444152832,
+ 0.9449996948242188,
+ 1.299999713897705,
+ 1.4679999351501465,
+ 1.565000057220459,
+ 1.5359997749328613,
+ 1.440999984741211,
+ 1.3529996871948242,
+ 1.315999984741211
+ ],
+ "yaxis": "y"
+ },
+ {
+ "marker": {
+ "color": "black"
+ },
+ "mode": "lines",
+ "name": "markers",
+ "showlegend": false,
+ "type": "scatter",
+ "x": [
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11
+ ],
+ "xaxis": "x",
+ "y": [
+ 0.619999885559082,
+ 0.5889997482299805,
+ 0.681999683380127,
+ 0.9589996337890625,
+ 1.307999610900879,
+ 1.7129998207092285,
+ 2.127999782562256,
+ 2.251999855041504,
+ 2.47499942779541,
+ 2.7290000915527344,
+ 2.913999557495117
+ ],
+ "yaxis": "y"
+ },
+ {
+ "marker": {
+ "color": "black"
+ },
+ "mode": "lines",
+ "name": "markers",
+ "showlegend": false,
+ "type": "scatter",
+ "x": [
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11
+ ],
+ "xaxis": "x",
+ "y": [
+ 0.8449997901916504,
+ 0.8959999084472656,
+ 1.0049996376037598,
+ 1.1459999084472656,
+ 1.3139996528625488,
+ 1.7279996871948242,
+ 2.174999713897705,
+ 2.673999786376953,
+ 3.2039995193481445,
+ 3.251999855041504,
+ 3.102999687194824
+ ],
+ "yaxis": "y"
+ },
+ {
+ "marker": {
+ "color": "black"
+ },
+ "mode": "lines",
+ "name": "markers",
+ "showlegend": false,
+ "type": "scatter",
+ "x": [
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11
+ ],
+ "xaxis": "x",
+ "y": [
+ -2.805000066757202,
+ -2.8390002250671387,
+ -2.8560001850128174,
+ -2.807000160217285,
+ -2.7380001544952393,
+ -2.6500000953674316,
+ -2.5430002212524414,
+ -2.494000196456909,
+ -2.38100004196167,
+ -2.2820000648498535,
+ -2.2380001544952393
+ ],
+ "yaxis": "y"
+ },
+ {
+ "marker": {
+ "color": "black"
+ },
+ "mode": "lines",
+ "name": "markers",
+ "showlegend": false,
+ "type": "scatter",
+ "x": [
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11
+ ],
+ "xaxis": "x",
+ "y": [
+ -0.11400032043457031,
+ -0.24900007247924805,
+ -0.569000244140625,
+ -0.9670000076293945,
+ -1.3940000534057617,
+ -1.8340001106262207,
+ -2.2750000953674316,
+ -2.4180002212524414,
+ -2.2760002613067627,
+ -2.121000051498413,
+ -2.002000093460083
+ ],
+ "yaxis": "y"
+ },
+ {
+ "marker": {
+ "color": "black"
+ },
+ "mode": "lines",
+ "name": "markers",
+ "showlegend": false,
+ "type": "scatter",
+ "x": [
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11
+ ],
+ "xaxis": "x",
+ "y": [
+ -0.03299999237060547,
+ -0.07999992370605469,
+ -0.2090001106262207,
+ -0.3940000534057617,
+ -0.6100001335144043,
+ -0.8410000801086426,
+ -1.0729999542236328,
+ -1.3010001182556152,
+ -1.5190000534057617,
+ -1.7200002670288086,
+ -1.8550002574920654
+ ],
+ "yaxis": "y"
+ },
+ {
+ "marker": {
+ "color": "black"
+ },
+ "mode": "lines",
+ "name": "markers",
+ "showlegend": false,
+ "type": "scatter",
+ "x": [
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11
+ ],
+ "xaxis": "x",
+ "y": [
+ 0,
+ -0.04699993133544922,
+ -0.17400026321411133,
+ -0.3559999465942383,
+ -0.568000316619873,
+ -0.7910003662109375,
+ -1.0130000114440918,
+ -1.2239999771118164,
+ -1.4130001068115234,
+ -1.558000087738037,
+ -1.6180000305175781
+ ],
+ "yaxis": "y"
+ },
+ {
+ "marker": {
+ "color": "red"
+ },
+ "mode": "markers",
+ "name": "markers",
+ "showlegend": false,
+ "type": "scatter",
+ "x": [
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11
+ ],
+ "xaxis": "x",
+ "y": [
+ 0.4130453828609351,
+ 0.47405689412897284,
+ 0.5499216998466337,
+ 0.5397917230923971,
+ 0.5401111901408494,
+ 0.5606301481073553,
+ 0.6007891044472203,
+ 0.6570100976963236,
+ 0.7224344111452199,
+ 0.7836690803970954,
+ 0.8106464653304128
+ ],
+ "yaxis": "y"
+ },
+ {
+ "marker": {
+ "color": "red"
+ },
+ "mode": "markers",
+ "name": "markers",
+ "showlegend": false,
+ "type": "scatter",
+ "x": [
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11
+ ],
+ "xaxis": "x",
+ "y": [
+ 0.4555379706199723,
+ 0.5071805938325747,
+ 0.663156579841267,
+ 0.9331213290041144,
+ 1.2628055341315991,
+ 1.4782955929486439,
+ 1.5774609308050136,
+ 1.5447185497091274,
+ 1.445215982018095,
+ 1.3522159800384983,
+ 1.312669130286785
+ ],
+ "yaxis": "y"
+ },
+ {
+ "marker": {
+ "color": "red"
+ },
+ "mode": "markers",
+ "name": "markers",
+ "showlegend": false,
+ "type": "scatter",
+ "x": [
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11
+ ],
+ "xaxis": "x",
+ "y": [
+ -0.029348458906616828,
+ -0.07725006341934204,
+ -0.20602152865342419,
+ -0.39054170883063116,
+ -0.6063813988608543,
+ -0.8352071004684525,
+ -1.0670732620990637,
+ -1.2933384463040516,
+ -1.5092020763291254,
+ -1.7069557854021438,
+ -1.8344911249599072
+ ],
+ "yaxis": "y"
+ },
+ {
+ "marker": {
+ "color": "red"
+ },
+ "mode": "markers",
+ "name": "markers",
+ "showlegend": false,
+ "type": "scatter",
+ "x": [
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11
+ ],
+ "xaxis": "x",
+ "y": [
+ 0,
+ -0.05133331845505069,
+ -0.17933969846879594,
+ -0.36269832560510346,
+ -0.574873751462108,
+ -0.7991287979212675,
+ -1.0229369480200488,
+ -1.236344727602872,
+ -1.4284303754267067,
+ -1.5805971050503278,
+ -1.6465341593279983
+ ],
+ "yaxis": "y"
+ },
+ {
+ "marker": {
+ "color": "blue"
+ },
+ "mode": "markers",
+ "name": "markers",
+ "showlegend": false,
+ "type": "scatter",
+ "x": [
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11
+ ],
+ "xaxis": "x",
+ "y": [
+ 0.3509269058704376,
+ 0.3960448205471039,
+ 0.4706715941429138,
+ 0.5473999977111816,
+ 0.5634896159172058,
+ 0.5862775444984436,
+ 0.6290913820266724,
+ 0.6894845962524414,
+ 0.756218433380127,
+ 0.8233209252357483,
+ 0.8553644418716431
+ ],
+ "yaxis": "y"
+ },
+ {
+ "marker": {
+ "color": "blue"
+ },
+ "mode": "markers",
+ "name": "markers",
+ "showlegend": false,
+ "type": "scatter",
+ "x": [
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11
+ ],
+ "xaxis": "x",
+ "y": [
+ 0.4787784814834595,
+ 0.5364609956741333,
+ 0.6600321531295776,
+ 0.915432333946228,
+ 1.1826930046081543,
+ 1.4425299167633057,
+ 1.5780549049377441,
+ 1.540902853012085,
+ 1.4370265007019043,
+ 1.342199444770813,
+ 1.298526406288147
+ ],
+ "yaxis": "y"
+ },
+ {
+ "marker": {
+ "color": "blue"
+ },
+ "mode": "markers",
+ "name": "markers",
+ "showlegend": false,
+ "type": "scatter",
+ "x": [
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11
+ ],
+ "xaxis": "x",
+ "y": [
+ -0.058823585510253906,
+ -0.10788238048553467,
+ -0.23852920532226562,
+ -0.4229997992515564,
+ -0.6380578279495239,
+ -0.8666466474533081,
+ -1.0972938537597656,
+ -1.3220583200454712,
+ -1.5344104766845703,
+ -1.723353385925293,
+ -1.8318228721618652
+ ],
+ "yaxis": "y"
+ },
+ {
+ "marker": {
+ "color": "blue"
+ },
+ "mode": "markers",
+ "name": "markers",
+ "showlegend": false,
+ "type": "scatter",
+ "x": [
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11
+ ],
+ "xaxis": "x",
+ "y": [
+ 2.384185791015625e-07,
+ -0.07094085216522217,
+ -0.2199997901916504,
+ -0.41017627716064453,
+ -0.6239991188049316,
+ -0.8504111766815186,
+ -1.077823281288147,
+ -1.296940565109253,
+ -1.4993523359298706,
+ -1.6664843559265137,
+ -1.7460424900054932
+ ],
+ "yaxis": "y"
+ },
+ {
+ "marker": {
+ "color": "black"
+ },
+ "mode": "lines",
+ "name": "markers",
+ "showlegend": false,
+ "type": "scatter",
+ "x": [
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11
+ ],
+ "xaxis": "x2",
+ "y": [
+ 0.4289999008178711,
+ 0.46700000762939453,
+ 0.41300010681152344,
+ 0.38299989700317383,
+ 0.38000011444091797,
+ 0.40199995040893555,
+ 0.4479999542236328,
+ 0.5149998664855957,
+ 0.5970001220703125,
+ 0.6820001602172852,
+ 0.7270002365112305
+ ],
+ "yaxis": "y2"
+ },
+ {
+ "marker": {
+ "color": "black"
+ },
+ "mode": "lines",
+ "name": "markers",
+ "showlegend": false,
+ "type": "scatter",
+ "x": [
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11
+ ],
+ "xaxis": "x2",
+ "y": [
+ 0.5089998245239258,
+ 0.495999813079834,
+ 0.6880002021789551,
+ 0.9800000190734863,
+ 1.2049999237060547,
+ 1.3910002708435059,
+ 1.4759998321533203,
+ 1.3899998664855957,
+ 1.250999927520752,
+ 1.125,
+ 1.065999984741211
+ ],
+ "yaxis": "y2"
+ },
+ {
+ "marker": {
+ "color": "black"
+ },
+ "mode": "lines",
+ "name": "markers",
+ "showlegend": false,
+ "type": "scatter",
+ "x": [
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11
+ ],
+ "xaxis": "x2",
+ "y": [
+ 0.6700000762939453,
+ 0.7309999465942383,
+ 0.8580002784729004,
+ 1.0190000534057617,
+ 1.3499999046325684,
+ 1.7800002098083496,
+ 1.938000202178955,
+ 2.135000228881836,
+ 2.4169998168945312,
+ 2.7270002365112305,
+ 2.98799991607666
+ ],
+ "yaxis": "y2"
+ },
+ {
+ "marker": {
+ "color": "black"
+ },
+ "mode": "lines",
+ "name": "markers",
+ "showlegend": false,
+ "type": "scatter",
+ "x": [
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11
+ ],
+ "xaxis": "x2",
+ "y": [
+ 0.9019999504089355,
+ 0.9609999656677246,
+ 1.1329998970031738,
+ 1.4000000953674316,
+ 1.744999885559082,
+ 1.940000057220459,
+ 2.25600004196167,
+ 2.7690000534057617,
+ 3.312000274658203,
+ 3.3439998626708984,
+ 3.1090002059936523
+ ],
+ "yaxis": "y2"
+ },
+ {
+ "marker": {
+ "color": "black"
+ },
+ "mode": "lines",
+ "name": "markers",
+ "showlegend": false,
+ "type": "scatter",
+ "x": [
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11
+ ],
+ "xaxis": "x2",
+ "y": [
+ -2.7019999027252197,
+ -2.740000009536743,
+ -2.8429999351501465,
+ -2.9140000343322754,
+ -2.8459999561309814,
+ -2.759000062942505,
+ -2.6540000438690186,
+ -2.5320000648498535,
+ -2.3969998359680176,
+ -2.259999990463257,
+ -2.180000066757202
+ ],
+ "yaxis": "y2"
+ },
+ {
+ "marker": {
+ "color": "black"
+ },
+ "mode": "lines",
+ "name": "markers",
+ "showlegend": false,
+ "type": "scatter",
+ "x": [
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11
+ ],
+ "xaxis": "x2",
+ "y": [
+ -0.14599990844726562,
+ -0.19099998474121094,
+ -0.370999813079834,
+ -0.7300000190734863,
+ -1.130000114440918,
+ -1.5500001907348633,
+ -1.9779999256134033,
+ -2.4070000648498535,
+ -2.3969998359680176,
+ -2.259000062942505,
+ -2.180000066757202
+ ],
+ "yaxis": "y2"
+ },
+ {
+ "marker": {
+ "color": "black"
+ },
+ "mode": "lines",
+ "name": "markers",
+ "showlegend": false,
+ "type": "scatter",
+ "x": [
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11
+ ],
+ "xaxis": "x2",
+ "y": [
+ -0.14499998092651367,
+ -0.19000005722045898,
+ -0.315000057220459,
+ -0.4930000305175781,
+ -0.7039999961853027,
+ -0.9289999008178711,
+ -1.1570000648498535,
+ -1.379000186920166,
+ -1.5889997482299805,
+ -1.7719998359680176,
+ -1.8659999370574951
+ ],
+ "yaxis": "y2"
+ },
+ {
+ "marker": {
+ "color": "black"
+ },
+ "mode": "lines",
+ "name": "markers",
+ "showlegend": false,
+ "type": "scatter",
+ "x": [
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11
+ ],
+ "xaxis": "x2",
+ "y": [
+ 0,
+ -0.10300016403198242,
+ -0.31400012969970703,
+ -0.4930000305175781,
+ -0.7030000686645508,
+ -0.9279999732971191,
+ -1.1560001373291016,
+ -1.379000186920166,
+ -1.5889997482299805,
+ -1.7719998359680176,
+ -1.8659999370574951
+ ],
+ "yaxis": "y2"
+ },
+ {
+ "marker": {
+ "color": "red"
+ },
+ "mode": "markers",
+ "name": "markers",
+ "showlegend": false,
+ "type": "scatter",
+ "x": [
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11
+ ],
+ "xaxis": "x2",
+ "y": [
+ 0.4134103872559287,
+ 0.41232823121427287,
+ 0.39799869963617035,
+ 0.3684899126640474,
+ 0.36472852964593905,
+ 0.3857752957729378,
+ 0.4305480224917633,
+ 0.4950518114398224,
+ 0.5758574785608234,
+ 0.6574697554713548,
+ 0.6998435596022943
+ ],
+ "yaxis": "y2"
+ },
+ {
+ "marker": {
+ "color": "red"
+ },
+ "mode": "markers",
+ "name": "markers",
+ "showlegend": false,
+ "type": "scatter",
+ "x": [
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11
+ ],
+ "xaxis": "x2",
+ "y": [
+ 0.5142979471370427,
+ 0.5464810421972564,
+ 0.6978838817037717,
+ 0.9463876244997738,
+ 1.1951781890609048,
+ 1.3814607816513138,
+ 1.4621250424722227,
+ 1.3778017921881243,
+ 1.2419331338670518,
+ 1.1188673732256649,
+ 1.0614673128031722
+ ],
+ "yaxis": "y2"
+ },
+ {
+ "marker": {
+ "color": "red"
+ },
+ "mode": "markers",
+ "name": "markers",
+ "showlegend": false,
+ "type": "scatter",
+ "x": [
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11
+ ],
+ "xaxis": "x2",
+ "y": [
+ -0.14900764431616273,
+ -0.19535343454341697,
+ -0.32042549114034635,
+ -0.5001501338650481,
+ -0.710458264206395,
+ -0.9356704552968343,
+ -1.1638800700505574,
+ -1.3871212752178461,
+ -1.597828287969936,
+ -1.7831565066419466,
+ -1.8835529700072124
+ ],
+ "yaxis": "y2"
+ },
+ {
+ "marker": {
+ "color": "red"
+ },
+ "mode": "markers",
+ "name": "markers",
+ "showlegend": false,
+ "type": "scatter",
+ "x": [
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11
+ ],
+ "xaxis": "x2",
+ "y": [
+ 0,
+ -0.09682579955669364,
+ -0.3044178672511168,
+ -0.4940782671022897,
+ -0.7042424251334836,
+ -0.9289380721371583,
+ -1.1561743291941555,
+ -1.3774392917902782,
+ -1.585006328845265,
+ -1.7635870602997867,
+ -1.8543572741927523
+ ],
+ "yaxis": "y2"
+ },
+ {
+ "marker": {
+ "color": "blue"
+ },
+ "mode": "markers",
+ "name": "markers",
+ "showlegend": false,
+ "type": "scatter",
+ "x": [
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11
+ ],
+ "xaxis": "x2",
+ "y": [
+ 0.3509269058704376,
+ 0.3960448205471039,
+ 0.4706715941429138,
+ 0.5473999977111816,
+ 0.5634896159172058,
+ 0.5862775444984436,
+ 0.6290913820266724,
+ 0.6894845962524414,
+ 0.756218433380127,
+ 0.8233209252357483,
+ 0.8553644418716431
+ ],
+ "yaxis": "y2"
+ },
+ {
+ "marker": {
+ "color": "blue"
+ },
+ "mode": "markers",
+ "name": "markers",
+ "showlegend": false,
+ "type": "scatter",
+ "x": [
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11
+ ],
+ "xaxis": "x2",
+ "y": [
+ 0.4787784814834595,
+ 0.5364609956741333,
+ 0.6600321531295776,
+ 0.915432333946228,
+ 1.1826930046081543,
+ 1.4425299167633057,
+ 1.5780549049377441,
+ 1.540902853012085,
+ 1.4370265007019043,
+ 1.342199444770813,
+ 1.298526406288147
+ ],
+ "yaxis": "y2"
+ },
+ {
+ "marker": {
+ "color": "blue"
+ },
+ "mode": "markers",
+ "name": "markers",
+ "showlegend": false,
+ "type": "scatter",
+ "x": [
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11
+ ],
+ "xaxis": "x2",
+ "y": [
+ -0.058823585510253906,
+ -0.10788238048553467,
+ -0.23852920532226562,
+ -0.4229997992515564,
+ -0.6380578279495239,
+ -0.8666466474533081,
+ -1.0972938537597656,
+ -1.3220583200454712,
+ -1.5344104766845703,
+ -1.723353385925293,
+ -1.8318228721618652
+ ],
+ "yaxis": "y2"
+ },
+ {
+ "marker": {
+ "color": "blue"
+ },
+ "mode": "markers",
+ "name": "markers",
+ "showlegend": false,
+ "type": "scatter",
+ "x": [
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11
+ ],
+ "xaxis": "x2",
+ "y": [
+ 2.384185791015625e-07,
+ -0.07094085216522217,
+ -0.2199997901916504,
+ -0.41017627716064453,
+ -0.6239991188049316,
+ -0.8504111766815186,
+ -1.077823281288147,
+ -1.296940565109253,
+ -1.4993523359298706,
+ -1.6664843559265137,
+ -1.7460424900054932
+ ],
+ "yaxis": "y2"
+ },
+ {
+ "line": {
+ "color": "RoyalBlue",
+ "dash": "dot",
+ "width": 3
+ },
+ "mode": "lines",
+ "name": "markers",
+ "showlegend": false,
+ "type": "scatter",
+ "x": [
+ 1,
+ 11
+ ],
+ "xaxis": "x",
+ "y": [
+ 0,
+ 0
+ ],
+ "yaxis": "y"
+ },
+ {
+ "line": {
+ "color": "RoyalBlue",
+ "dash": "dot",
+ "width": 3
+ },
+ "mode": "lines",
+ "name": "markers",
+ "showlegend": false,
+ "type": "scatter",
+ "x": [
+ 1,
+ 11
+ ],
+ "xaxis": "x2",
+ "y": [
+ 0,
+ 0
+ ],
+ "yaxis": "y2"
+ },
+ {
+ "line": {
+ "color": "black"
+ },
+ "mode": "lines",
+ "name": "DFT-PBE",
+ "showlegend": true,
+ "type": "scatter",
+ "x": [
+ 12,
+ 13
+ ],
+ "xaxis": "x",
+ "y": [
+ 0,
+ 0
+ ],
+ "yaxis": "y"
+ },
+ {
+ "line": {
+ "color": "red"
+ },
+ "mode": "markers",
+ "name": "RandomForest",
+ "showlegend": true,
+ "type": "scatter",
+ "x": [
+ 12
+ ],
+ "xaxis": "x",
+ "y": [
+ 0
+ ],
+ "yaxis": "y"
+ },
+ {
+ "line": {
+ "color": "blue"
+ },
+ "mode": "markers",
+ "name": "MultiOutputRegressor-XGBoost",
+ "showlegend": true,
+ "type": "scatter",
+ "x": [
+ 12
+ ],
+ "xaxis": "x",
+ "y": [
+ 0
+ ],
+ "yaxis": "y"
+ }
+ ],
+ "layout": {
+ "annotations": [
+ {
+ "font": {
+ "size": 16
+ },
+ "showarrow": false,
+ "text": "Si2Ge2 strain 2.5%",
+ "x": 0.225,
+ "xanchor": "center",
+ "xref": "paper",
+ "y": 1,
+ "yanchor": "bottom",
+ "yref": "paper"
+ },
+ {
+ "font": {
+ "size": 16
+ },
+ "showarrow": false,
+ "text": "Si3Ge1 strain 3%",
+ "x": 0.775,
+ "xanchor": "center",
+ "xref": "paper",
+ "y": 1,
+ "yanchor": "bottom",
+ "yref": "paper"
+ }
+ ],
+ "height": 650,
+ "plot_bgcolor": "white",
+ "template": {
+ "data": {
+ "bar": [
+ {
+ "error_x": {
+ "color": "#2a3f5f"
+ },
+ "error_y": {
+ "color": "#2a3f5f"
+ },
+ "marker": {
+ "line": {
+ "color": "#E5ECF6",
+ "width": 0.5
+ }
+ },
+ "type": "bar"
+ }
+ ],
+ "barpolar": [
+ {
+ "marker": {
+ "line": {
+ "color": "#E5ECF6",
+ "width": 0.5
+ }
+ },
+ "type": "barpolar"
+ }
+ ],
+ "carpet": [
+ {
+ "aaxis": {
+ "endlinecolor": "#2a3f5f",
+ "gridcolor": "white",
+ "linecolor": "white",
+ "minorgridcolor": "white",
+ "startlinecolor": "#2a3f5f"
+ },
+ "baxis": {
+ "endlinecolor": "#2a3f5f",
+ "gridcolor": "white",
+ "linecolor": "white",
+ "minorgridcolor": "white",
+ "startlinecolor": "#2a3f5f"
+ },
+ "type": "carpet"
+ }
+ ],
+ "choropleth": [
+ {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ },
+ "type": "choropleth"
+ }
+ ],
+ "contour": [
+ {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ },
+ "colorscale": [
+ [
+ 0,
+ "#0d0887"
+ ],
+ [
+ 0.1111111111111111,
+ "#46039f"
+ ],
+ [
+ 0.2222222222222222,
+ "#7201a8"
+ ],
+ [
+ 0.3333333333333333,
+ "#9c179e"
+ ],
+ [
+ 0.4444444444444444,
+ "#bd3786"
+ ],
+ [
+ 0.5555555555555556,
+ "#d8576b"
+ ],
+ [
+ 0.6666666666666666,
+ "#ed7953"
+ ],
+ [
+ 0.7777777777777778,
+ "#fb9f3a"
+ ],
+ [
+ 0.8888888888888888,
+ "#fdca26"
+ ],
+ [
+ 1,
+ "#f0f921"
+ ]
+ ],
+ "type": "contour"
+ }
+ ],
+ "contourcarpet": [
+ {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ },
+ "type": "contourcarpet"
+ }
+ ],
+ "heatmap": [
+ {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ },
+ "colorscale": [
+ [
+ 0,
+ "#0d0887"
+ ],
+ [
+ 0.1111111111111111,
+ "#46039f"
+ ],
+ [
+ 0.2222222222222222,
+ "#7201a8"
+ ],
+ [
+ 0.3333333333333333,
+ "#9c179e"
+ ],
+ [
+ 0.4444444444444444,
+ "#bd3786"
+ ],
+ [
+ 0.5555555555555556,
+ "#d8576b"
+ ],
+ [
+ 0.6666666666666666,
+ "#ed7953"
+ ],
+ [
+ 0.7777777777777778,
+ "#fb9f3a"
+ ],
+ [
+ 0.8888888888888888,
+ "#fdca26"
+ ],
+ [
+ 1,
+ "#f0f921"
+ ]
+ ],
+ "type": "heatmap"
+ }
+ ],
+ "heatmapgl": [
+ {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ },
+ "colorscale": [
+ [
+ 0,
+ "#0d0887"
+ ],
+ [
+ 0.1111111111111111,
+ "#46039f"
+ ],
+ [
+ 0.2222222222222222,
+ "#7201a8"
+ ],
+ [
+ 0.3333333333333333,
+ "#9c179e"
+ ],
+ [
+ 0.4444444444444444,
+ "#bd3786"
+ ],
+ [
+ 0.5555555555555556,
+ "#d8576b"
+ ],
+ [
+ 0.6666666666666666,
+ "#ed7953"
+ ],
+ [
+ 0.7777777777777778,
+ "#fb9f3a"
+ ],
+ [
+ 0.8888888888888888,
+ "#fdca26"
+ ],
+ [
+ 1,
+ "#f0f921"
+ ]
+ ],
+ "type": "heatmapgl"
+ }
+ ],
+ "histogram": [
+ {
+ "marker": {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ }
+ },
+ "type": "histogram"
+ }
+ ],
+ "histogram2d": [
+ {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ },
+ "colorscale": [
+ [
+ 0,
+ "#0d0887"
+ ],
+ [
+ 0.1111111111111111,
+ "#46039f"
+ ],
+ [
+ 0.2222222222222222,
+ "#7201a8"
+ ],
+ [
+ 0.3333333333333333,
+ "#9c179e"
+ ],
+ [
+ 0.4444444444444444,
+ "#bd3786"
+ ],
+ [
+ 0.5555555555555556,
+ "#d8576b"
+ ],
+ [
+ 0.6666666666666666,
+ "#ed7953"
+ ],
+ [
+ 0.7777777777777778,
+ "#fb9f3a"
+ ],
+ [
+ 0.8888888888888888,
+ "#fdca26"
+ ],
+ [
+ 1,
+ "#f0f921"
+ ]
+ ],
+ "type": "histogram2d"
+ }
+ ],
+ "histogram2dcontour": [
+ {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ },
+ "colorscale": [
+ [
+ 0,
+ "#0d0887"
+ ],
+ [
+ 0.1111111111111111,
+ "#46039f"
+ ],
+ [
+ 0.2222222222222222,
+ "#7201a8"
+ ],
+ [
+ 0.3333333333333333,
+ "#9c179e"
+ ],
+ [
+ 0.4444444444444444,
+ "#bd3786"
+ ],
+ [
+ 0.5555555555555556,
+ "#d8576b"
+ ],
+ [
+ 0.6666666666666666,
+ "#ed7953"
+ ],
+ [
+ 0.7777777777777778,
+ "#fb9f3a"
+ ],
+ [
+ 0.8888888888888888,
+ "#fdca26"
+ ],
+ [
+ 1,
+ "#f0f921"
+ ]
+ ],
+ "type": "histogram2dcontour"
+ }
+ ],
+ "mesh3d": [
+ {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ },
+ "type": "mesh3d"
+ }
+ ],
+ "parcoords": [
+ {
+ "line": {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ }
+ },
+ "type": "parcoords"
+ }
+ ],
+ "pie": [
+ {
+ "automargin": true,
+ "type": "pie"
+ }
+ ],
+ "scatter": [
+ {
+ "marker": {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ }
+ },
+ "type": "scatter"
+ }
+ ],
+ "scatter3d": [
+ {
+ "line": {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ }
+ },
+ "marker": {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ }
+ },
+ "type": "scatter3d"
+ }
+ ],
+ "scattercarpet": [
+ {
+ "marker": {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ }
+ },
+ "type": "scattercarpet"
+ }
+ ],
+ "scattergeo": [
+ {
+ "marker": {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ }
+ },
+ "type": "scattergeo"
+ }
+ ],
+ "scattergl": [
+ {
+ "marker": {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ }
+ },
+ "type": "scattergl"
+ }
+ ],
+ "scattermapbox": [
+ {
+ "marker": {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ }
+ },
+ "type": "scattermapbox"
+ }
+ ],
+ "scatterpolar": [
+ {
+ "marker": {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ }
+ },
+ "type": "scatterpolar"
+ }
+ ],
+ "scatterpolargl": [
+ {
+ "marker": {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ }
+ },
+ "type": "scatterpolargl"
+ }
+ ],
+ "scatterternary": [
+ {
+ "marker": {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ }
+ },
+ "type": "scatterternary"
+ }
+ ],
+ "surface": [
+ {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ },
+ "colorscale": [
+ [
+ 0,
+ "#0d0887"
+ ],
+ [
+ 0.1111111111111111,
+ "#46039f"
+ ],
+ [
+ 0.2222222222222222,
+ "#7201a8"
+ ],
+ [
+ 0.3333333333333333,
+ "#9c179e"
+ ],
+ [
+ 0.4444444444444444,
+ "#bd3786"
+ ],
+ [
+ 0.5555555555555556,
+ "#d8576b"
+ ],
+ [
+ 0.6666666666666666,
+ "#ed7953"
+ ],
+ [
+ 0.7777777777777778,
+ "#fb9f3a"
+ ],
+ [
+ 0.8888888888888888,
+ "#fdca26"
+ ],
+ [
+ 1,
+ "#f0f921"
+ ]
+ ],
+ "type": "surface"
+ }
+ ],
+ "table": [
+ {
+ "cells": {
+ "fill": {
+ "color": "#EBF0F8"
+ },
+ "line": {
+ "color": "white"
+ }
+ },
+ "header": {
+ "fill": {
+ "color": "#C8D4E3"
+ },
+ "line": {
+ "color": "white"
+ }
+ },
+ "type": "table"
+ }
+ ]
+ },
+ "layout": {
+ "annotationdefaults": {
+ "arrowcolor": "#2a3f5f",
+ "arrowhead": 0,
+ "arrowwidth": 1
+ },
+ "coloraxis": {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ }
+ },
+ "colorscale": {
+ "diverging": [
+ [
+ 0,
+ "#8e0152"
+ ],
+ [
+ 0.1,
+ "#c51b7d"
+ ],
+ [
+ 0.2,
+ "#de77ae"
+ ],
+ [
+ 0.3,
+ "#f1b6da"
+ ],
+ [
+ 0.4,
+ "#fde0ef"
+ ],
+ [
+ 0.5,
+ "#f7f7f7"
+ ],
+ [
+ 0.6,
+ "#e6f5d0"
+ ],
+ [
+ 0.7,
+ "#b8e186"
+ ],
+ [
+ 0.8,
+ "#7fbc41"
+ ],
+ [
+ 0.9,
+ "#4d9221"
+ ],
+ [
+ 1,
+ "#276419"
+ ]
+ ],
+ "sequential": [
+ [
+ 0,
+ "#0d0887"
+ ],
+ [
+ 0.1111111111111111,
+ "#46039f"
+ ],
+ [
+ 0.2222222222222222,
+ "#7201a8"
+ ],
+ [
+ 0.3333333333333333,
+ "#9c179e"
+ ],
+ [
+ 0.4444444444444444,
+ "#bd3786"
+ ],
+ [
+ 0.5555555555555556,
+ "#d8576b"
+ ],
+ [
+ 0.6666666666666666,
+ "#ed7953"
+ ],
+ [
+ 0.7777777777777778,
+ "#fb9f3a"
+ ],
+ [
+ 0.8888888888888888,
+ "#fdca26"
+ ],
+ [
+ 1,
+ "#f0f921"
+ ]
+ ],
+ "sequentialminus": [
+ [
+ 0,
+ "#0d0887"
+ ],
+ [
+ 0.1111111111111111,
+ "#46039f"
+ ],
+ [
+ 0.2222222222222222,
+ "#7201a8"
+ ],
+ [
+ 0.3333333333333333,
+ "#9c179e"
+ ],
+ [
+ 0.4444444444444444,
+ "#bd3786"
+ ],
+ [
+ 0.5555555555555556,
+ "#d8576b"
+ ],
+ [
+ 0.6666666666666666,
+ "#ed7953"
+ ],
+ [
+ 0.7777777777777778,
+ "#fb9f3a"
+ ],
+ [
+ 0.8888888888888888,
+ "#fdca26"
+ ],
+ [
+ 1,
+ "#f0f921"
+ ]
+ ]
+ },
+ "colorway": [
+ "#636efa",
+ "#EF553B",
+ "#00cc96",
+ "#ab63fa",
+ "#FFA15A",
+ "#19d3f3",
+ "#FF6692",
+ "#B6E880",
+ "#FF97FF",
+ "#FECB52"
+ ],
+ "font": {
+ "color": "#2a3f5f"
+ },
+ "geo": {
+ "bgcolor": "white",
+ "lakecolor": "white",
+ "landcolor": "#E5ECF6",
+ "showlakes": true,
+ "showland": true,
+ "subunitcolor": "white"
+ },
+ "hoverlabel": {
+ "align": "left"
+ },
+ "hovermode": "closest",
+ "mapbox": {
+ "style": "light"
+ },
+ "paper_bgcolor": "white",
+ "plot_bgcolor": "#E5ECF6",
+ "polar": {
+ "angularaxis": {
+ "gridcolor": "white",
+ "linecolor": "white",
+ "ticks": ""
+ },
+ "bgcolor": "#E5ECF6",
+ "radialaxis": {
+ "gridcolor": "white",
+ "linecolor": "white",
+ "ticks": ""
+ }
+ },
+ "scene": {
+ "xaxis": {
+ "backgroundcolor": "#E5ECF6",
+ "gridcolor": "white",
+ "gridwidth": 2,
+ "linecolor": "white",
+ "showbackground": true,
+ "ticks": "",
+ "zerolinecolor": "white"
+ },
+ "yaxis": {
+ "backgroundcolor": "#E5ECF6",
+ "gridcolor": "white",
+ "gridwidth": 2,
+ "linecolor": "white",
+ "showbackground": true,
+ "ticks": "",
+ "zerolinecolor": "white"
+ },
+ "zaxis": {
+ "backgroundcolor": "#E5ECF6",
+ "gridcolor": "white",
+ "gridwidth": 2,
+ "linecolor": "white",
+ "showbackground": true,
+ "ticks": "",
+ "zerolinecolor": "white"
+ }
+ },
+ "shapedefaults": {
+ "line": {
+ "color": "#2a3f5f"
+ }
+ },
+ "ternary": {
+ "aaxis": {
+ "gridcolor": "white",
+ "linecolor": "white",
+ "ticks": ""
+ },
+ "baxis": {
+ "gridcolor": "white",
+ "linecolor": "white",
+ "ticks": ""
+ },
+ "bgcolor": "#E5ECF6",
+ "caxis": {
+ "gridcolor": "white",
+ "linecolor": "white",
+ "ticks": ""
+ }
+ },
+ "title": {
+ "x": 0.05
+ },
+ "xaxis": {
+ "automargin": true,
+ "gridcolor": "white",
+ "linecolor": "white",
+ "ticks": "",
+ "title": {
+ "standoff": 15
+ },
+ "zerolinecolor": "white",
+ "zerolinewidth": 2
+ },
+ "yaxis": {
+ "automargin": true,
+ "gridcolor": "white",
+ "linecolor": "white",
+ "ticks": "",
+ "title": {
+ "standoff": 15
+ },
+ "zerolinecolor": "white",
+ "zerolinewidth": 2
+ }
+ }
+ },
+ "title": {
+ "text": "Si2Ge2 relaxed"
+ },
+ "width": 1000,
+ "xaxis": {
+ "anchor": "y",
+ "domain": [
+ 0,
+ 0.45
+ ],
+ "gridcolor": "lightgrey",
+ "gridwidth": 0.5,
+ "linecolor": "black",
+ "linewidth": 1,
+ "mirror": true,
+ "range": [
+ 1,
+ 11
+ ],
+ "showgrid": true,
+ "ticks": "inside",
+ "ticktext": [
+ "G",
+ "Z"
+ ],
+ "tickvals": [
+ 1,
+ 11
+ ]
+ },
+ "xaxis2": {
+ "anchor": "y2",
+ "domain": [
+ 0.55,
+ 1
+ ],
+ "gridcolor": "lightgrey",
+ "gridwidth": 0.5,
+ "linecolor": "black",
+ "linewidth": 1,
+ "mirror": true,
+ "range": [
+ 1,
+ 11
+ ],
+ "showgrid": true,
+ "ticks": "inside",
+ "ticktext": [
+ "G",
+ "Z"
+ ],
+ "tickvals": [
+ 1,
+ 11
+ ]
+ },
+ "yaxis": {
+ "anchor": "x",
+ "domain": [
+ 0,
+ 1
+ ],
+ "gridcolor": "lightgrey",
+ "gridwidth": 0.5,
+ "linecolor": "black",
+ "linewidth": 1,
+ "mirror": true,
+ "showgrid": true,
+ "ticks": "inside",
+ "title": {
+ "text": "Energy, eV"
+ }
+ },
+ "yaxis2": {
+ "anchor": "x2",
+ "domain": [
+ 0,
+ 1
+ ],
+ "gridcolor": "lightgrey",
+ "gridwidth": 0.5,
+ "linecolor": "black",
+ "linewidth": 1,
+ "mirror": true,
+ "showgrid": true,
+ "ticks": "inside",
+ "title": {
+ "text": "Energy, eV"
+ }
+ }
+ }
+ },
+ "text/html": [
+ "\n",
+ " \n",
+ " \n",
+ "
\n",
+ " \n",
+ "
"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "#reading calculated bands:\n",
+ "data=read_data('bands/si2ge2_relax.dat')\n",
+ "bands_si2ge2_relaxed=data.read_bands_ml(mode='Auto', bands_num=4)\n",
+ "bands_si2ge2_relaxed=bands_si2ge2_relaxed.reshape(8,11)\n",
+ "\n",
+ "data=read_data('bands/si3ge1_3.dat')\n",
+ "bands_si3ge1_3=data.read_bands_ml(mode='Auto', bands_num=4)\n",
+ "bands_si3ge1_3=bands_si3ge1_3.reshape(8,11)\n",
+ "\n",
+ "#predicted bands\n",
+ "bands_RF_1=y_predict_RF[0].reshape(4,11)\n",
+ "bands_RF_2=y_predict_RF[1].reshape(4,11)\n",
+ "\n",
+ "bands_XG_1=y_predict_XG[0].reshape(4,11)\n",
+ "bands_XG_2=y_predict_XG[0].reshape(4,11)\n",
+ "\n",
+ "fig = make_subplots(rows=1, cols=2,subplot_titles=(\"Si2Ge2 strain 2.5%\", \"Si3Ge1 strain 3%\"))\n",
+ "\n",
+ "for i in range(bands_si2ge2_relaxed.shape[0]):\n",
+ " fig.add_trace(go.Scatter(x=np.arange(1,12,1), y=bands_si2ge2_relaxed[i],\n",
+ " mode='lines', marker=dict(color='black'), showlegend=False, \n",
+ " name='markers'), row=1, col=1)\n",
+ " \n",
+ "for i in range(bands_RF_1.shape[0]):\n",
+ " fig.add_trace(go.Scatter(x=np.arange(1,12,1), y=bands_RF_1[i],\n",
+ " mode='markers', marker=dict(color='red'), showlegend=False, \n",
+ " name='markers'), row=1, col=1)\n",
+ "for i in range(bands_XG_1.shape[0]):\n",
+ " fig.add_trace(go.Scatter(x=np.arange(1,12,1), y=bands_XG_1[i],\n",
+ " mode='markers', marker=dict(color='blue'), showlegend=False, \n",
+ " name='markers'), row=1, col=1)\n",
+ "for i in range(bands_si3ge1_3.shape[0]):\n",
+ " fig.add_trace(go.Scatter(x=np.arange(1,12,1), y=bands_si3ge1_3[i],\n",
+ " mode='lines', marker=dict(color='black'), showlegend=False, \n",
+ " name='markers'), row=1, col=2)\n",
+ " \n",
+ "for i in range(bands_RF_2.shape[0]):\n",
+ " fig.add_trace(go.Scatter(x=np.arange(1,12,1), y=bands_RF_2[i],\n",
+ " mode='markers', marker=dict(color='red'), showlegend=False, \n",
+ " name='markers'), row=1, col=2) \n",
+ "for i in range(bands_XG_2.shape[0]):\n",
+ " fig.add_trace(go.Scatter(x=np.arange(1,12,1), y=bands_XG_2[i],\n",
+ " mode='markers', marker=dict(color='blue'), showlegend=False, \n",
+ " name='markers'), row=1, col=2) \n",
+ " \n",
+ " \n",
+ "fig.add_trace(go.Scatter(x=[1,11], y=[0,0],\n",
+ " mode='lines', line=dict(color= \"RoyalBlue\",width=3, dash='dot'), showlegend=False, \n",
+ " name='markers'), col=1, row=1) \n",
+ "fig.add_trace(go.Scatter(x=[1,11], y=[0,0],\n",
+ " mode='lines', line=dict(color= \"RoyalBlue\",width=3, dash='dot'), showlegend=False, \n",
+ " name='markers'),col=2, row=1) \n",
+ "\n",
+ "fig.add_trace(go.Scatter(x=[12,13], y=[0,0],\n",
+ " mode='lines', line=dict(color= \"black\"), showlegend=True, name='DFT-PBE', \n",
+ " ),col=1, row=1) \n",
+ "fig.add_trace(go.Scatter(x=[12], y=[0],\n",
+ " mode='markers', line=dict(color= \"red\"), showlegend=True, name='RandomForest', \n",
+ " ),col=1, row=1) \n",
+ "fig.add_trace(go.Scatter(x=[12], y=[0],\n",
+ " mode='markers', line=dict(color= \"blue\"), showlegend=True, name='MultiOutputRegressor-XGBoost', \n",
+ " ),col=1, row=1) \n",
+ "\n",
+ "fig.update_xaxes(showgrid=True, \n",
+ " gridwidth=0.5, \n",
+ " gridcolor='lightgrey', \n",
+ " ticks='inside' , \n",
+ " linecolor= 'black', \n",
+ " linewidth= 1,\n",
+ " mirror= True,\n",
+ " ticktext=['G', 'Z'],\n",
+ " tickvals=[1,11],\n",
+ " range=[1,11]\n",
+ " )\n",
+ "fig.update_yaxes(title='Energy, eV', \n",
+ " showgrid=True, \n",
+ " gridwidth=0.5, \n",
+ " gridcolor='lightgrey', \n",
+ " ticks='inside' , \n",
+ " linecolor= 'black',\n",
+ " linewidth= 1,\n",
+ " mirror= True,\n",
+ " )\n",
+ "fig.update_layout(title='Si2Ge2 relaxed', width=1000, height=650, plot_bgcolor='white')\n",
+ "fig.show()"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# example of solving reverse problem "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 25,
+ "metadata": {
+ "ExecuteTime": {
+ "end_time": "2021-10-29T01:59:48.099554Z",
+ "start_time": "2021-10-29T01:59:31.248745Z"
+ }
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Lattice parameters:[10.65961975 10.68515307 0.5 ]\n",
+ "MSE: 0.0007605645516181882\n"
+ ]
+ }
+ ],
+ "source": [
+ "# in this example we predict lattice constants for a given bandstructure (lattice constants are in bohr)\n",
+ "\n",
+ "import GPyOpt\n",
+ "from GPyOpt.methods import BayesianOptimization\n",
+ "from sklearn.metrics import mean_squared_error\n",
+ "\n",
+ "data=read_data('bands/si2ge2_relax.dat')\n",
+ "bands=data.read_bands_ml(mode='Auto', bands_num=2)\n",
+ "\n",
+ "\n",
+ "def objfunc(x):\n",
+ "\n",
+ " x1 = float(x[0,0])\n",
+ " x2 = float(x[0,1])\n",
+ " x3 = float(x[0,2])\n",
+ "\n",
+ " return mean_squared_error(regressorRF.predict([[x1,x2,x3]]).reshape(1,44), bands.reshape(1,44))\n",
+ "\n",
+ "maxiter = 40\n",
+ "domain = [\n",
+ " {'name': 'a_paral', 'type': 'continuous', 'domain': (10, 11)},\n",
+ " {'name': 'a_perp', 'type': 'continuous', 'domain': (10, 11)},\n",
+ " {'name': 'composition', 'type': 'discrete', 'domain': (0.25,0.5,0.75)}\n",
+ " ]\n",
+ "\n",
+ "\n",
+ "\n",
+ "Bopt = GPyOpt.methods.BayesianOptimization(objfunc, domain=domain)\n",
+ "Bopt.run_optimization(max_iter = maxiter)\n",
+ "\n",
+ "print(\"Lattice parameters:\"+str(Bopt.x_opt)) \n",
+ "print(\"MSE: \"+str(Bopt.fx_opt)) \n",
+ "\n",
+ "\"\"\"\n",
+ "I will explain this part on Monaday \n",
+ "\"\"\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example with random split 80/20"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 13,
+ "metadata": {
+ "ExecuteTime": {
+ "end_time": "2021-10-29T20:31:04.464351Z",
+ "start_time": "2021-10-29T20:30:58.797072Z"
+ }
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Time taken for RF: 0:00:05.627278\n",
+ "Train:\n",
+ "R^2:0.91 RMSE:0.03\n",
+ "Test:\n",
+ "R^2:0.99 RMSE: 0.07\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "C:\\Users\\exx\\Anaconda3\\envs\\tensorflow\\lib\\site-packages\\sklearn\\base.py:434: FutureWarning:\n",
+ "\n",
+ "The default value of multioutput (not exposed in score method) will change from 'variance_weighted' to 'uniform_average' in 0.23 to keep consistent with 'metrics.r2_score'. To specify the default value manually and avoid the warning, please either call 'metrics.r2_score' directly or make a custom scorer with 'metrics.make_scorer' (the built-in scorer 'r2' uses multioutput='uniform_average').\n",
+ "\n"
+ ]
+ }
+ ],
+ "source": [
+ "# one more example to train model with a random split 80/20\n",
+ "my_data=data_preparation(X,y)\n",
+ "#random split could also be used\n",
+ "(X_train, X_test, Y_train, Y_test)=my_data.random_split(train_split=0.8, seed=42)\n",
+ "\n",
+ "my_model=modeling(X_train, Y_train, X_test, Y_test, scaler='None')\n",
+ "\n",
+ "#train Random forest model with No initial guess\n",
+ "(y_fit_RF, y_predict_RF, trials_RF, best_space_RF, regressorRF, text_RF)=my_model.RandomForest( max_evals=12, timeout=150*60,loss_threshold=0.01, cv=5, verbose=1)\n",
+ "\n",
+ "print(text_RF)\n",
+ "\n",
+ "# 20% of structures are predicted with a high accuracy\n"
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 3",
+ "language": "python",
+ "name": "python3"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 3
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython3",
+ "version": "3.6.10"
+ },
+ "varInspector": {
+ "cols": {
+ "lenName": 16,
+ "lenType": 16,
+ "lenVar": 40
+ },
+ "kernels_config": {
+ "python": {
+ "delete_cmd_postfix": "",
+ "delete_cmd_prefix": "del ",
+ "library": "var_list.py",
+ "varRefreshCmd": "print(var_dic_list())"
+ },
+ "r": {
+ "delete_cmd_postfix": ") ",
+ "delete_cmd_prefix": "rm(",
+ "library": "var_list.r",
+ "varRefreshCmd": "cat(var_dic_list()) "
+ }
+ },
+ "types_to_exclude": [
+ "module",
+ "function",
+ "builtin_function_or_method",
+ "instance",
+ "_Feature"
+ ],
+ "window_display": false
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 4
+}
diff --git a/vitalypro/README.md b/vitalypro/README.md
new file mode 100644
index 00000000..ea166158
--- /dev/null
+++ b/vitalypro/README.md
@@ -0,0 +1,43 @@
+**Prediction of Electronic Band-structure in Ultra-thin SiGe Superlattices with Tree-Based Machine Learning Models**
+
+**Overview**
+
+The idea of this task is to train an ML model to predict electronic band-structure of a SiGe superlattice with any kind of interfacial disorder, external strain, and composition*.
+(**please see the list of assumptions that will be used in this work*)
+
+Superlattices are periodic structures that contain layers of different materials. The interfaces significantly impact the electronic and phonon transport and make superlattices ideal candidates as thermoelectric materials. The efficiency or figure of merit of thermoelectric material is calculated as:
+
+*zT=(S^2/ρk)T*,
+
+where *zT* is the dimensionless figure of merit, S, ρ, k are the Seebeck coefficient, electrical resistivity, and thermal conductivity. In order to improve the efficiency of thermoelectric material, we need to increase the Seebeck coefficient and electrical conductivity and at the same time decrease the thermal conductivity. The former two parameters can be easily and quickly computed from the energy bands using Boltzmann equations (see https://arxiv.org/pdf/cond-mat/0602203.pdf eq. 12-16). The most time-consuming part in the computation of S is the bandstructure calculation that can be significantly speed up with ML modeling.
+
+
+**Assumptions**
+
+This task is very interesting, but it’s also complicated, and it would take a significant amount of time to complete. For this reason, I will make some assumptions that would simplify this problem:
+1. I will only study superlattices that have a constant number of atoms to avoid band structure folding. As example, the electronic band structure unfolding can be done with GPAW (https://wiki.fysik.dtu.dk/gpaw/tutorialsexercises/electronic/unfold/unfold.html)
+2. I will use a smaller number of atoms in the cell to speed up calculations (8 atom cells)
+3. For the transport we only care about the bands that are close to the Fermi level. Therefore, I will only predict 2 valence and 2 conduction bands.
+4. In this work, I will only consider superlattices with the ideal interfaces. It would be interesting to investigate disordered interfaces and introduce some defects far away from the interface as well in the future work. This would require studying larger cells and introduce Voronoi tessellations to correctly describe the neighboring atoms. In this work, however, I will study the effect of composition and external strain only.
+5. I will predict bandstructure along a short path (e.g. Gamma -Z) with a small number of K-points
+6. I will use the PBE exchange-correlation functional for the DFT calculations. The band gap will be underestimated but the bands shape should not be affected significantly.
+7. To build a good ML model we need to provide both global and local properties of the system. Global properties are lattice constants, compositions, number of atoms (if not a constant) etc. Local properties are such as local strain, nearest neighbor environment etc. In this work I will only use global properties to build an ML model
+
+
+**Project details**
+
+1. **Step 1: DFT calculations**
+
+In the first step I performed DFT calculations of ultra-thin SixGe1-x superlattices at different external strain (x=1,2,3 is the number of monolayers). I will provide more details on this step during our Monday call.
+
+2. **Step 2: Develop a module for ML modeling**
+
+This module consist of 3 classes: *read_data*, *data_preparation*, and *modeling*. The first class is written to get all necessary data for modeling from QE output files. This includes lattice constants, compositions, fermi level (read from xlm file) and band energies (read from bands.x output). The *data_preparation* module can be used to split the data into training / testing sets. Options with manual or random selection are included. The final module consist of two tree-based ML models: Random forest and XGboost. Random forest suppots multioutput regression, however, for XGboost I had to use sklearn MultiOutputRegressor to make predictions (see https://github.com/dmlc/xgboost/issues/2087). The modeling is perfromed with automatic hyperparameter search using Bayesian optimization. To reduce possibility of overfitting, an option for n-fold cross validation is added. More details will be provided on Monday
+
+3. **Step 3: Predict a SL bandstructure with the ML model**
+
+Finaly, when the structures are calculated, the data is extracted and prepared, we test the model performance. In the figure below, I present the final results for two SiGe SL bandstructures predicted with tree-based ML models. The black curves show the bands calculated with the DFT method, the predictions with random forest and XGboost models are shown with the red and blue dots, respectively. In general, both methods provide with good predictions, however, random forest model outperfroms the XGBoost one. I believe this mostly happens due to inability for XGBoost to deal with multioutputs. We will discuss this on Monday as well.
+
+
+
+
diff --git a/vitalypro/__pycache__/ml_modeling_module.cpython-36.pyc b/vitalypro/__pycache__/ml_modeling_module.cpython-36.pyc
new file mode 100644
index 00000000..a54996ce
Binary files /dev/null and b/vitalypro/__pycache__/ml_modeling_module.cpython-36.pyc differ
diff --git a/vitalypro/bands/si1ge3_0.dat b/vitalypro/bands/si1ge3_0.dat
new file mode 100644
index 00000000..0c500f78
--- /dev/null
+++ b/vitalypro/bands/si1ge3_0.dat
@@ -0,0 +1,34 @@
+ &plot nbnd= 20, nks= 11 /
+ 0.000000 0.000000 0.000000
+ -6.556 -3.007 -2.690 -2.689 -2.613 -2.610 -1.918 2.801 2.872 2.873
+ 2.951 3.318 3.320 5.665 6.219 6.227 6.330 6.538 6.540 6.886
+ 0.000001 0.000001 0.046906
+ -6.547 -3.210 -2.688 -2.687 -2.608 -2.395 -1.915 2.782 2.849 2.850
+ 2.923 3.327 3.329 5.496 6.168 6.175 6.387 6.588 6.591 6.927
+ 0.000003 0.000003 0.093811
+ -6.518 -3.521 -2.683 -2.681 -2.601 -2.042 -1.908 2.726 2.784 2.785
+ 2.844 3.356 3.358 5.125 6.029 6.036 6.551 6.736 6.738 6.931
+ 0.000004 0.000004 0.140717
+ -6.470 -3.831 -2.675 -2.673 -2.591 -1.897 -1.661 2.643 2.690 2.691
+ 2.730 3.404 3.406 4.686 5.835 5.841 6.806 6.929 6.968 6.971
+ 0.000005 0.000005 0.187622
+ -6.403 -4.130 -2.664 -2.663 -2.579 -1.883 -1.264 2.544 2.579 2.580
+ 2.599 3.470 3.472 4.223 5.613 5.618 6.940 7.136 7.271 7.274
+ 0.000007 0.000007 0.234528
+ -6.317 -4.413 -2.653 -2.651 -2.564 -1.867 -0.854 2.441 2.466 2.467
+ 2.467 3.555 3.557 3.751 5.379 5.384 6.967 7.525 7.634 7.636
+ 0.000008 0.000008 0.281433
+ -6.213 -4.680 -2.641 -2.639 -2.550 -1.851 -0.434 2.342 2.345 2.361
+ 2.362 3.279 3.657 3.659 5.146 5.150 7.011 7.920 7.963 8.044
+ 0.000009 0.000009 0.328339
+ -6.091 -4.929 -2.630 -2.628 -2.536 -1.836 -0.007 2.242 2.258 2.271
+ 2.272 2.809 3.776 3.778 4.922 4.926 7.070 7.908 8.382 8.441
+ 0.000011 0.000011 0.375244
+ -5.953 -5.158 -2.621 -2.619 -2.525 -1.824 0.423 2.164 2.193 2.204
+ 2.204 2.349 3.908 3.910 4.713 4.716 7.138 7.807 8.577 8.953
+ 0.000012 0.000012 0.422150
+ -5.807 -5.360 -2.615 -2.614 -2.518 -1.816 0.838 1.915 2.116 2.152
+ 2.161 2.162 4.041 4.042 4.532 4.536 7.201 7.711 8.800 9.230
+ 0.000013 0.000013 0.469056
+ -5.710 -5.474 -2.613 -2.612 -2.516 -1.814 1.096 1.651 2.100 2.139
+ 2.147 2.147 4.117 4.118 4.441 4.445 7.230 7.670 8.970 9.099
diff --git a/vitalypro/bands/si1ge3_1.dat b/vitalypro/bands/si1ge3_1.dat
new file mode 100644
index 00000000..9285e92f
--- /dev/null
+++ b/vitalypro/bands/si1ge3_1.dat
@@ -0,0 +1,34 @@
+ &plot nbnd= 20, nks= 11 /
+ 0.000000 0.000000 0.000000
+ -6.607 -3.052 -2.828 -2.827 -2.751 -2.654 -2.057 2.726 2.799 2.799
+ 2.876 3.115 3.116 5.605 6.013 6.013 6.247 6.448 6.449 6.620
+ 0.000001 0.000001 0.047724
+ -6.598 -3.254 -2.826 -2.826 -2.748 -2.438 -2.055 2.705 2.775 2.775
+ 2.847 3.125 3.125 5.417 5.963 5.963 6.305 6.500 6.500 6.683
+ 0.000003 0.000003 0.095449
+ -6.569 -3.564 -2.820 -2.820 -2.742 -2.087 -2.048 2.648 2.708 2.708
+ 2.766 3.154 3.154 5.028 5.827 5.827 6.471 6.649 6.650 6.691
+ 0.000004 0.000004 0.143173
+ -6.521 -3.874 -2.812 -2.812 -2.732 -2.036 -1.708 2.562 2.611 2.611
+ 2.649 3.202 3.202 4.583 5.635 5.635 6.686 6.730 6.886 6.886
+ 0.000005 0.000005 0.190897
+ -6.453 -4.172 -2.801 -2.801 -2.719 -2.022 -1.313 2.460 2.497 2.497
+ 2.515 3.269 3.269 4.119 5.414 5.414 6.695 7.065 7.194 7.195
+ 0.000007 0.000007 0.238622
+ -6.367 -4.456 -2.789 -2.789 -2.704 -2.006 -0.907 2.353 2.380 2.381
+ 2.381 3.354 3.354 3.651 5.182 5.182 6.720 7.458 7.561 7.562
+ 0.000008 0.000008 0.286346
+ -6.263 -4.724 -2.777 -2.777 -2.689 -1.989 -0.490 2.252 2.256 2.272
+ 2.272 3.183 3.457 3.458 4.949 4.949 6.764 7.701 7.901 7.977
+ 0.000009 0.000009 0.334070
+ -6.140 -4.973 -2.766 -2.765 -2.676 -1.974 -0.067 2.151 2.166 2.181
+ 2.181 2.720 3.577 3.577 4.725 4.725 6.823 7.671 8.166 8.383
+ 0.000011 0.000011 0.381795
+ -6.002 -5.203 -2.757 -2.756 -2.665 -1.962 0.357 2.072 2.099 2.111
+ 2.111 2.266 3.710 3.710 4.515 4.515 6.892 7.559 8.371 8.900
+ 0.000012 0.000012 0.429519
+ -5.854 -5.405 -2.751 -2.751 -2.658 -1.954 0.766 1.839 2.023 2.057
+ 2.068 2.068 3.844 3.844 4.333 4.333 6.957 7.457 8.599 9.019
+ 0.000013 0.000013 0.477243
+ -5.758 -5.520 -2.749 -2.749 -2.655 -1.951 1.017 1.583 2.006 2.043
+ 2.053 2.053 3.921 3.921 4.240 4.241 6.988 7.414 8.768 8.895
diff --git a/vitalypro/bands/si1ge3_2.dat b/vitalypro/bands/si1ge3_2.dat
new file mode 100644
index 00000000..6d364f1b
--- /dev/null
+++ b/vitalypro/bands/si1ge3_2.dat
@@ -0,0 +1,34 @@
+ &plot nbnd= 20, nks= 11 /
+ 0.000000 0.000000 0.000000
+ -6.651 -3.088 -2.948 -2.948 -2.871 -2.686 -2.182 2.664 2.741 2.741
+ 2.817 2.935 2.935 5.556 5.829 5.830 6.175 6.373 6.373 6.382
+ 0.000001 0.000001 0.048528
+ -6.641 -3.288 -2.947 -2.946 -2.869 -2.472 -2.179 2.643 2.716 2.716
+ 2.787 2.944 2.944 5.345 5.780 5.781 6.234 6.425 6.426 6.466
+ 0.000003 0.000003 0.097055
+ -6.612 -3.597 -2.941 -2.941 -2.862 -2.172 -2.123 2.583 2.647 2.647
+ 2.703 2.973 2.974 4.940 5.647 5.647 6.403 6.476 6.578 6.579
+ 0.000004 0.000004 0.145583
+ -6.564 -3.908 -2.932 -2.932 -2.852 -2.160 -1.746 2.494 2.546 2.546
+ 2.583 3.022 3.022 4.489 5.457 5.457 6.468 6.667 6.819 6.819
+ 0.000005 0.000005 0.194110
+ -6.496 -4.206 -2.921 -2.921 -2.839 -2.146 -1.353 2.389 2.429 2.429
+ 2.446 3.089 3.089 4.027 5.238 5.238 6.474 7.006 7.133 7.133
+ 0.000007 0.000007 0.242638
+ -6.409 -4.491 -2.909 -2.909 -2.824 -2.129 -0.950 2.280 2.307 2.309
+ 2.309 3.175 3.175 3.562 5.006 5.007 6.498 7.390 7.405 7.506
+ 0.000008 0.000008 0.291166
+ -6.304 -4.759 -2.896 -2.896 -2.808 -2.112 -0.537 2.176 2.180 2.197
+ 2.197 3.099 3.279 3.279 4.775 4.775 6.540 7.507 7.852 7.863
+ 0.000009 0.000009 0.339693
+ -6.181 -5.009 -2.885 -2.885 -2.795 -2.097 -0.118 2.073 2.087 2.103
+ 2.103 2.641 3.399 3.399 4.550 4.550 6.599 7.458 7.982 8.340
+ 0.000010 0.000010 0.388221
+ -6.041 -5.240 -2.875 -2.875 -2.783 -2.084 0.301 1.992 2.019 2.032
+ 2.032 2.193 3.532 3.532 4.340 4.340 6.669 7.338 8.197 8.861
+ 0.000012 0.000012 0.436748
+ -5.893 -5.443 -2.869 -2.869 -2.776 -2.076 0.703 1.774 1.942 1.976
+ 1.987 1.987 3.667 3.667 4.158 4.158 6.737 7.231 8.427 8.840
+ 0.000013 0.000013 0.485276
+ -5.795 -5.559 -2.867 -2.867 -2.773 -2.073 0.947 1.525 1.925 1.961
+ 1.972 1.972 3.745 3.745 4.065 4.065 6.769 7.185 8.593 8.724
diff --git a/vitalypro/bands/si1ge3_3.dat b/vitalypro/bands/si1ge3_3.dat
new file mode 100644
index 00000000..cdb48b25
--- /dev/null
+++ b/vitalypro/bands/si1ge3_3.dat
@@ -0,0 +1,34 @@
+ &plot nbnd= 20, nks= 11 /
+ 0.000000 0.000000 0.000000
+ -6.691 -3.124 -3.061 -3.061 -2.984 -2.719 -2.297 2.606 2.686 2.686
+ 2.762 2.768 2.768 5.506 5.658 5.659 6.107 6.150 6.301 6.301
+ 0.000001 0.000001 0.049295
+ -6.682 -3.323 -3.059 -3.059 -2.982 -2.507 -2.294 2.584 2.661 2.661
+ 2.731 2.777 2.778 5.266 5.610 5.611 6.167 6.263 6.354 6.355
+ 0.000003 0.000003 0.098591
+ -6.652 -3.631 -3.053 -3.053 -2.975 -2.287 -2.159 2.523 2.589 2.589
+ 2.645 2.807 2.807 4.844 5.479 5.479 6.275 6.339 6.510 6.510
+ 0.000004 0.000004 0.147886
+ -6.604 -3.941 -3.044 -3.044 -2.964 -2.275 -1.785 2.432 2.485 2.485
+ 2.522 2.855 2.856 4.390 5.292 5.292 6.264 6.607 6.755 6.755
+ 0.000005 0.000005 0.197182
+ -6.536 -4.239 -3.033 -3.033 -2.951 -2.260 -1.395 2.324 2.365 2.365
+ 2.381 2.923 2.923 3.929 5.074 5.074 6.267 6.950 7.043 7.073
+ 0.000007 0.000007 0.246477
+ -6.448 -4.524 -3.020 -3.020 -2.935 -2.243 -0.995 2.211 2.240 2.241
+ 2.241 3.009 3.010 3.468 4.844 4.844 6.290 7.216 7.354 7.451
+ 0.000008 0.000008 0.295773
+ -6.343 -4.792 -3.007 -3.007 -2.920 -2.226 -0.586 2.105 2.110 2.127
+ 2.127 3.010 3.114 3.114 4.613 4.613 6.331 7.324 7.674 7.806
+ 0.000009 0.000009 0.345068
+ -6.219 -5.043 -2.995 -2.995 -2.906 -2.210 -0.172 2.000 2.013 2.030
+ 2.030 2.558 3.235 3.235 4.388 4.389 6.390 7.258 7.813 8.297
+ 0.000010 0.000010 0.394363
+ -6.078 -5.275 -2.985 -2.985 -2.894 -2.197 0.242 1.918 1.943 1.957
+ 1.957 2.116 3.369 3.369 4.178 4.178 6.461 7.130 8.036 8.728
+ 0.000012 0.000012 0.443659
+ -5.929 -5.479 -2.979 -2.979 -2.887 -2.189 0.637 1.705 1.867 1.899
+ 1.912 1.912 3.505 3.505 3.995 3.995 6.530 7.018 8.269 8.672
+ 0.000013 0.000013 0.492954
+ -5.830 -5.596 -2.977 -2.977 -2.884 -2.186 0.874 1.463 1.850 1.885
+ 1.896 1.896 3.583 3.583 3.901 3.902 6.563 6.970 8.433 8.564
diff --git a/vitalypro/bands/si1ge3_4.dat b/vitalypro/bands/si1ge3_4.dat
new file mode 100644
index 00000000..bf58f5e7
--- /dev/null
+++ b/vitalypro/bands/si1ge3_4.dat
@@ -0,0 +1,34 @@
+ &plot nbnd= 20, nks= 11 /
+ 0.000000 0.000000 0.000000
+ -6.731 -3.172 -3.170 -3.163 -3.095 -2.756 -2.410 2.548 2.606 2.606
+ 2.631 2.631 2.706 5.447 5.490 5.491 5.909 6.036 6.218 6.226
+ 0.000001 0.000001 0.050050
+ -6.722 -3.361 -3.170 -3.168 -3.092 -2.546 -2.407 2.526 2.604 2.605
+ 2.616 2.616 2.674 5.169 5.442 5.443 6.062 6.097 6.279 6.282
+ 0.000003 0.000003 0.100100
+ -6.692 -3.667 -3.164 -3.162 -3.086 -2.400 -2.201 2.462 2.531 2.531
+ 2.586 2.645 2.646 4.733 5.313 5.314 6.078 6.272 6.438 6.440
+ 0.000004 0.000004 0.150151
+ -6.643 -3.976 -3.155 -3.153 -3.075 -2.388 -1.830 2.368 2.424 2.424
+ 2.460 2.694 2.694 4.277 5.129 5.130 6.064 6.543 6.686 6.689
+ 0.000005 0.000005 0.200201
+ -6.575 -4.275 -3.143 -3.141 -3.061 -2.373 -1.443 2.257 2.300 2.300
+ 2.316 2.762 2.763 3.819 4.914 4.914 6.065 6.869 6.891 7.009
+ 0.000006 0.000006 0.250251
+ -6.487 -4.559 -3.130 -3.128 -3.045 -2.355 -1.047 2.142 2.172 2.174
+ 2.174 2.849 2.849 3.362 4.685 4.686 6.085 7.046 7.298 7.391
+ 0.000008 0.000008 0.300301
+ -6.381 -4.828 -3.117 -3.115 -3.029 -2.338 -0.643 2.033 2.039 2.057
+ 2.057 2.909 2.954 2.954 4.455 4.455 6.126 7.143 7.492 7.754
+ 0.000009 0.000009 0.350351
+ -6.257 -5.079 -3.104 -3.103 -3.015 -2.321 -0.234 1.928 1.940 1.958
+ 1.958 2.463 3.075 3.076 4.230 4.231 6.184 7.059 7.649 8.249
+ 0.000010 0.000010 0.400402
+ -6.116 -5.311 -3.095 -3.093 -3.003 -2.308 0.174 1.844 1.868 1.883
+ 1.883 2.029 3.210 3.211 4.020 4.020 6.256 6.925 7.879 8.547
+ 0.000012 0.000012 0.450452
+ -5.966 -5.515 -3.088 -3.087 -2.996 -2.300 0.562 1.625 1.792 1.823
+ 1.837 1.837 3.346 3.347 3.837 3.838 6.327 6.809 8.114 8.503
+ 0.000013 0.000013 0.500502
+ -5.866 -5.633 -3.086 -3.085 -2.993 -2.297 0.792 1.391 1.775 1.808
+ 1.821 1.821 3.425 3.427 3.742 3.744 6.361 6.760 8.274 8.404
diff --git a/vitalypro/bands/si1ge3_5.dat b/vitalypro/bands/si1ge3_5.dat
new file mode 100644
index 00000000..025ece8c
--- /dev/null
+++ b/vitalypro/bands/si1ge3_5.dat
@@ -0,0 +1,34 @@
+ &plot nbnd= 20, nks= 11 /
+ 0.000000 0.000000 0.000000
+ -6.772 -3.285 -3.285 -3.210 -3.203 -2.792 -2.527 2.437 2.437 2.492
+ 2.578 2.578 2.653 5.314 5.314 5.385 5.651 5.966 6.028 6.151
+ 0.000001 0.000001 0.050911
+ -6.762 -3.398 -3.283 -3.283 -3.207 -2.585 -2.525 2.447 2.447 2.469
+ 2.551 2.551 2.620 5.054 5.268 5.269 5.854 6.028 6.124 6.207
+ 0.000003 0.000003 0.101822
+ -6.733 -3.703 -3.277 -3.277 -3.200 -2.517 -2.243 2.403 2.474 2.474
+ 2.476 2.477 2.529 4.607 5.142 5.142 5.871 6.206 6.352 6.368
+ 0.000004 0.000004 0.152733
+ -6.684 -4.011 -3.268 -3.268 -3.189 -2.505 -1.875 2.306 2.364 2.364
+ 2.399 2.526 2.526 4.153 4.961 4.961 5.853 6.481 6.510 6.621
+ 0.000005 0.000005 0.203644
+ -6.615 -4.309 -3.256 -3.255 -3.175 -2.489 -1.493 2.192 2.236 2.236
+ 2.252 2.594 2.594 3.698 4.748 4.748 5.850 6.690 6.833 6.949
+ 0.000006 0.000006 0.254555
+ -6.527 -4.593 -3.242 -3.242 -3.159 -2.471 -1.101 2.073 2.104 2.106
+ 2.106 2.681 2.682 3.247 4.520 4.521 5.868 6.871 7.246 7.328
+ 0.000008 0.000008 0.305466
+ -6.420 -4.862 -3.228 -3.228 -3.143 -2.453 -0.702 1.961 1.968 1.986
+ 1.986 2.787 2.787 2.801 4.290 4.291 5.907 6.952 7.306 7.706
+ 0.000009 0.000009 0.356377
+ -6.295 -5.114 -3.216 -3.216 -3.128 -2.436 -0.299 1.854 1.865 1.884
+ 1.884 2.362 2.909 2.910 4.067 4.067 5.966 6.849 7.483 8.205
+ 0.000010 0.000010 0.407288
+ -6.153 -5.346 -3.206 -3.205 -3.116 -2.423 0.103 1.769 1.792 1.808
+ 1.808 1.935 3.045 3.045 3.856 3.856 6.038 6.708 7.721 8.362
+ 0.000012 0.000012 0.458199
+ -6.003 -5.551 -3.199 -3.199 -3.108 -2.414 0.482 1.540 1.716 1.746
+ 1.760 1.760 3.182 3.183 3.672 3.673 6.111 6.588 7.956 8.332
+ 0.000013 0.000013 0.509110
+ -5.902 -5.670 -3.197 -3.197 -3.105 -2.411 0.704 1.313 1.698 1.730
+ 1.744 1.744 3.262 3.262 3.577 3.578 6.147 6.536 8.114 8.242
diff --git a/vitalypro/bands/si2ge2_0.dat b/vitalypro/bands/si2ge2_0.dat
new file mode 100644
index 00000000..f022ce12
--- /dev/null
+++ b/vitalypro/bands/si2ge2_0.dat
@@ -0,0 +1,34 @@
+ &plot nbnd= 20, nks= 11 /
+ 0.000000 0.000000 0.000000
+ -6.311 -2.568 -2.568 -2.484 -2.408 -1.871 -1.871 2.913 2.914 3.051
+ 3.052 3.234 3.280 5.747 6.137 6.167 6.323 6.324 6.838 7.002
+ 0.000001 0.000001 0.047932
+ -6.301 -2.804 -2.566 -2.566 -2.074 -1.868 -1.868 2.891 2.892 3.020
+ 3.020 3.244 3.290 5.632 6.088 6.118 6.383 6.384 6.818 7.050
+ 0.000003 0.000003 0.095863
+ -6.271 -3.145 -2.559 -2.559 -1.861 -1.860 -1.692 2.830 2.831 2.934
+ 2.934 3.271 3.319 5.342 5.954 5.985 6.554 6.555 6.791 7.190
+ 0.000004 0.000004 0.143795
+ -6.222 -3.470 -2.548 -2.548 -1.849 -1.849 -1.297 2.739 2.740 2.811
+ 2.811 3.317 3.368 4.961 5.764 5.797 6.779 6.820 6.821 7.342
+ 0.000005 0.000005 0.191727
+ -6.154 -3.780 -2.535 -2.534 -1.834 -1.834 -0.892 2.632 2.632 2.670
+ 2.671 3.380 3.435 4.538 5.545 5.582 6.784 7.161 7.162 7.488
+ 0.000007 0.000007 0.239658
+ -6.067 -4.072 -2.519 -2.519 -1.817 -1.816 -0.477 2.520 2.520 2.529
+ 2.530 3.460 3.521 4.096 5.313 5.357 6.808 7.562 7.563 7.638
+ 0.000008 0.000008 0.287590
+ -5.961 -4.346 -2.503 -2.503 -1.799 -1.799 -0.056 2.400 2.400 2.414
+ 2.415 3.555 3.626 3.645 5.080 5.134 6.848 7.749 8.010 8.011
+ 0.000009 0.000009 0.335522
+ -5.839 -4.599 -2.489 -2.489 -1.783 -1.783 0.370 2.291 2.291 2.323
+ 2.324 3.195 3.661 3.749 4.853 4.923 6.902 7.759 8.428 8.496
+ 0.000010 0.000010 0.383453
+ -5.704 -4.828 -2.477 -2.477 -1.770 -1.770 0.792 2.209 2.209 2.254
+ 2.254 2.754 3.772 3.889 4.636 4.736 6.962 7.692 8.619 9.014
+ 0.000012 0.000012 0.431385
+ -5.569 -5.019 -2.470 -2.470 -1.762 -1.762 1.186 2.158 2.158 2.211
+ 2.211 2.349 3.868 4.042 4.437 4.593 7.014 7.619 8.859 9.397
+ 0.000013 0.000013 0.479317
+ -5.496 -5.111 -2.467 -2.467 -1.759 -1.759 1.407 2.125 2.141 2.141
+ 2.196 2.196 3.911 4.161 4.302 4.535 7.037 7.588 9.048 9.225
diff --git a/vitalypro/bands/si2ge2_1.dat b/vitalypro/bands/si2ge2_1.dat
new file mode 100644
index 00000000..7f9bcb77
--- /dev/null
+++ b/vitalypro/bands/si2ge2_1.dat
@@ -0,0 +1,34 @@
+ &plot nbnd= 20, nks= 11 /
+ 0.000000 0.000000 0.000000
+ -6.359 -2.700 -2.699 -2.519 -2.442 -2.007 -2.007 2.846 2.847 2.988
+ 2.989 3.036 3.081 5.689 5.940 5.971 6.248 6.249 6.619 6.851
+ 0.000001 0.000001 0.048806
+ -6.349 -2.838 -2.698 -2.697 -2.109 -2.005 -2.004 2.824 2.824 2.955
+ 2.957 3.046 3.091 5.567 5.891 5.923 6.309 6.310 6.596 6.898
+ 0.000003 0.000003 0.097612
+ -6.319 -3.179 -2.691 -2.690 -1.997 -1.996 -1.728 2.760 2.761 2.867
+ 2.868 3.074 3.120 5.265 5.760 5.792 6.484 6.485 6.563 7.001
+ 0.000004 0.000004 0.146418
+ -6.270 -3.505 -2.680 -2.679 -1.985 -1.984 -1.335 2.666 2.667 2.740
+ 2.741 3.120 3.169 4.878 5.572 5.607 6.547 6.755 6.756 7.133
+ 0.000005 0.000005 0.195224
+ -6.201 -3.815 -2.666 -2.665 -1.970 -1.969 -0.932 2.555 2.555 2.595
+ 2.596 3.183 3.237 4.453 5.354 5.393 6.550 7.101 7.103 7.286
+ 0.000006 0.000006 0.244030
+ -6.113 -4.109 -2.650 -2.649 -1.952 -1.951 -0.521 2.439 2.440 2.450
+ 2.451 3.264 3.324 4.011 5.123 5.168 6.572 7.440 7.508 7.509
+ 0.000008 0.000008 0.292836
+ -6.006 -4.383 -2.634 -2.633 -1.934 -1.933 -0.103 2.317 2.318 2.330
+ 2.331 3.360 3.430 3.565 4.890 4.945 6.612 7.547 7.962 7.963
+ 0.000009 0.000009 0.341642
+ -5.883 -4.638 -2.619 -2.618 -1.917 -1.917 0.318 2.206 2.206 2.237
+ 2.237 3.119 3.467 3.554 4.663 4.734 6.666 7.541 8.225 8.455
+ 0.000010 0.000010 0.390448
+ -5.747 -4.869 -2.607 -2.606 -1.904 -1.903 0.735 2.122 2.122 2.165
+ 2.166 2.685 3.579 3.694 4.446 4.546 6.727 7.461 8.431 8.979
+ 0.000012 0.000012 0.439254
+ -5.610 -5.062 -2.599 -2.598 -1.895 -1.895 1.121 2.070 2.070 2.121
+ 2.121 2.288 3.677 3.848 4.245 4.402 6.782 7.381 8.678 9.212
+ 0.000013 0.000013 0.488060
+ -5.535 -5.155 -2.596 -2.596 -1.892 -1.892 1.334 2.052 2.052 2.071
+ 2.105 2.106 3.720 3.967 4.111 4.343 6.805 7.348 8.866 9.049
diff --git a/vitalypro/bands/si2ge2_2.dat b/vitalypro/bands/si2ge2_2.dat
new file mode 100644
index 00000000..e776d146
--- /dev/null
+++ b/vitalypro/bands/si2ge2_2.dat
@@ -0,0 +1,34 @@
+ &plot nbnd= 20, nks= 11 /
+ 0.000000 0.000000 0.000000
+ -6.404 -2.823 -2.821 -2.557 -2.481 -2.133 -2.131 2.782 2.782 2.857
+ 2.901 2.926 2.928 5.624 5.758 5.790 6.174 6.175 6.418 6.650
+ 0.000001 0.000001 0.049599
+ -6.394 -2.876 -2.820 -2.818 -2.149 -2.131 -2.129 2.759 2.759 2.867
+ 2.893 2.894 2.911 5.493 5.711 5.743 6.236 6.237 6.390 6.699
+ 0.000003 0.000003 0.099199
+ -6.364 -3.217 -2.813 -2.811 -2.123 -2.121 -1.770 2.693 2.693 2.801
+ 2.803 2.895 2.941 5.179 5.581 5.614 6.354 6.414 6.415 6.805
+ 0.000004 0.000004 0.148798
+ -6.314 -3.542 -2.802 -2.800 -2.111 -2.108 -1.380 2.596 2.596 2.671
+ 2.672 2.941 2.990 4.784 5.396 5.430 6.334 6.689 6.690 6.943
+ 0.000005 0.000005 0.198397
+ -6.245 -3.853 -2.787 -2.786 -2.095 -2.092 -0.980 2.481 2.482 2.523
+ 2.524 3.006 3.058 4.357 5.179 5.218 6.335 7.040 7.042 7.102
+ 0.000006 0.000006 0.247996
+ -6.157 -4.146 -2.771 -2.769 -2.077 -2.074 -0.572 2.362 2.363 2.375
+ 2.376 3.087 3.146 3.917 4.950 4.994 6.355 7.260 7.451 7.453
+ 0.000008 0.000008 0.297596
+ -6.049 -4.422 -2.755 -2.753 -2.058 -2.056 -0.158 2.239 2.240 2.251
+ 2.252 3.183 3.252 3.474 4.717 4.771 6.394 7.360 7.910 7.912
+ 0.000009 0.000009 0.347195
+ -5.925 -4.677 -2.739 -2.738 -2.041 -2.039 0.258 2.125 2.126 2.155
+ 2.156 3.033 3.292 3.377 4.490 4.560 6.449 7.339 8.042 8.407
+ 0.000010 0.000010 0.396794
+ -5.788 -4.909 -2.727 -2.725 -2.028 -2.025 0.668 2.040 2.040 2.082
+ 2.083 2.605 3.405 3.518 4.273 4.372 6.511 7.249 8.260 8.936
+ 0.000012 0.000012 0.446393
+ -5.651 -5.103 -2.719 -2.717 -2.019 -2.017 1.047 1.987 1.987 2.036
+ 2.037 2.216 3.503 3.673 4.072 4.227 6.568 7.163 8.511 9.036
+ 0.000013 0.000013 0.495993
+ -5.575 -5.197 -2.716 -2.715 -2.016 -2.014 1.252 1.969 1.969 2.007
+ 2.020 2.021 3.547 3.791 3.937 4.167 6.592 7.127 8.697 8.883
diff --git a/vitalypro/bands/si2ge2_3.dat b/vitalypro/bands/si2ge2_3.dat
new file mode 100644
index 00000000..bcfa4ce6
--- /dev/null
+++ b/vitalypro/bands/si2ge2_3.dat
@@ -0,0 +1,34 @@
+ &plot nbnd= 20, nks= 11 /
+ 0.000000 0.000000 0.000000
+ -6.444 -2.933 -2.930 -2.587 -2.512 -2.245 -2.243 2.695 2.730 2.730
+ 2.738 2.877 2.877 5.569 5.596 5.626 6.113 6.113 6.233 6.469
+ 0.000001 0.000001 0.050399
+ -6.434 -2.930 -2.928 -2.906 -2.242 -2.240 -2.181 2.704 2.706 2.706
+ 2.748 2.842 2.843 5.428 5.549 5.579 6.176 6.177 6.202 6.518
+ 0.000003 0.000003 0.100797
+ -6.403 -3.246 -2.923 -2.920 -2.234 -2.232 -1.803 2.638 2.638 2.733
+ 2.748 2.749 2.778 5.101 5.422 5.453 6.161 6.357 6.358 6.628
+ 0.000004 0.000004 0.151196
+ -6.353 -3.571 -2.911 -2.909 -2.221 -2.220 -1.415 2.538 2.538 2.614
+ 2.615 2.779 2.827 4.699 5.238 5.271 6.138 6.637 6.638 6.771
+ 0.000005 0.000005 0.201595
+ -6.284 -3.882 -2.896 -2.894 -2.205 -2.203 -1.018 2.420 2.420 2.462
+ 2.463 2.844 2.896 4.270 5.023 5.060 6.136 6.936 6.994 6.994
+ 0.000006 0.000006 0.251993
+ -6.195 -4.176 -2.880 -2.877 -2.186 -2.185 -0.614 2.297 2.298 2.310
+ 2.311 2.926 2.984 3.832 4.794 4.837 6.155 7.098 7.410 7.411
+ 0.000008 0.000008 0.302392
+ -6.087 -4.452 -2.863 -2.860 -2.168 -2.166 -0.205 2.172 2.172 2.182
+ 2.183 3.024 3.091 3.392 4.562 4.615 6.194 7.191 7.746 7.874
+ 0.000009 0.000009 0.352791
+ -5.962 -4.708 -2.847 -2.845 -2.150 -2.148 0.206 2.055 2.056 2.084
+ 2.085 2.956 3.133 3.216 4.335 4.403 6.248 7.153 7.880 8.376
+ 0.000010 0.000010 0.403190
+ -5.823 -4.941 -2.835 -2.832 -2.136 -2.134 0.611 1.968 1.968 2.009
+ 2.010 2.534 3.247 3.359 4.117 4.214 6.312 7.052 8.109 8.909
+ 0.000011 0.000011 0.453588
+ -5.685 -5.136 -2.826 -2.824 -2.127 -2.125 0.982 1.913 1.914 1.962
+ 1.963 2.152 3.348 3.514 3.915 4.067 6.371 6.960 8.366 8.882
+ 0.000013 0.000013 0.503987
+ -5.608 -5.232 -2.824 -2.821 -2.124 -2.122 1.181 1.895 1.896 1.946
+ 1.947 1.950 3.392 3.634 3.780 4.007 6.396 6.922 8.551 8.737
diff --git a/vitalypro/bands/si2ge2_4.dat b/vitalypro/bands/si2ge2_4.dat
new file mode 100644
index 00000000..4e77074a
--- /dev/null
+++ b/vitalypro/bands/si2ge2_4.dat
@@ -0,0 +1,34 @@
+ &plot nbnd= 20, nks= 11 /
+ 0.000000 0.000000 0.000000
+ -6.480 -3.036 -3.033 -2.615 -2.538 -2.351 -2.350 2.539 2.581 2.683
+ 2.684 2.834 2.835 5.440 5.471 5.515 6.056 6.056 6.057 6.297
+ 0.000001 0.000001 0.051224
+ -6.470 -3.034 -3.031 -2.932 -2.348 -2.347 -2.209 2.549 2.591 2.658
+ 2.659 2.798 2.799 5.363 5.394 5.426 6.021 6.121 6.122 6.345
+ 0.000003 0.000003 0.102448
+ -6.440 -3.271 -3.026 -3.023 -2.340 -2.339 -1.834 2.577 2.588 2.589
+ 2.621 2.701 2.702 5.022 5.269 5.301 5.975 6.306 6.307 6.457
+ 0.000004 0.000004 0.153672
+ -6.389 -3.597 -3.014 -3.011 -2.327 -2.326 -1.448 2.485 2.486 2.563
+ 2.564 2.625 2.671 4.614 5.087 5.122 5.948 6.590 6.591 6.607
+ 0.000005 0.000005 0.204896
+ -6.319 -3.908 -2.999 -2.996 -2.310 -2.309 -1.054 2.363 2.364 2.407
+ 2.408 2.690 2.740 4.183 4.874 4.912 5.943 6.778 6.952 6.954
+ 0.000006 0.000006 0.256120
+ -6.229 -4.202 -2.982 -2.979 -2.291 -2.290 -0.654 2.237 2.238 2.251
+ 2.252 2.773 2.829 3.746 4.646 4.690 5.960 6.943 7.374 7.376
+ 0.000008 0.000008 0.307345
+ -6.121 -4.479 -2.964 -2.961 -2.272 -2.271 -0.249 2.109 2.110 2.119
+ 2.120 2.871 2.937 3.310 4.414 4.467 5.998 7.026 7.577 7.843
+ 0.000009 0.000009 0.358569
+ -5.995 -4.737 -2.948 -2.945 -2.254 -2.253 0.156 1.990 1.990 2.017
+ 2.018 2.880 2.982 3.063 4.186 4.255 6.053 6.971 7.731 8.349
+ 0.000010 0.000010 0.409793
+ -5.855 -4.970 -2.935 -2.932 -2.239 -2.238 0.554 1.900 1.901 1.940
+ 1.941 2.463 3.097 3.206 3.968 4.065 6.118 6.861 7.971 8.845
+ 0.000011 0.000011 0.461017
+ -5.715 -5.167 -2.927 -2.924 -2.230 -2.229 0.918 1.845 1.845 1.892
+ 1.893 2.089 3.199 3.363 3.766 3.917 6.178 6.763 8.231 8.737
+ 0.000013 0.000013 0.512241
+ -5.638 -5.264 -2.924 -2.921 -2.226 -2.226 1.110 1.826 1.826 1.876
+ 1.877 1.894 3.244 3.483 3.630 3.856 6.205 6.723 8.415 8.601
diff --git a/vitalypro/bands/si2ge2_5.dat b/vitalypro/bands/si2ge2_5.dat
new file mode 100644
index 00000000..e1c156d3
--- /dev/null
+++ b/vitalypro/bands/si2ge2_5.dat
@@ -0,0 +1,34 @@
+ &plot nbnd= 20, nks= 11 /
+ 0.000000 0.000000 0.000000
+ -6.519 -3.145 -3.143 -2.645 -2.568 -2.465 -2.462 2.375 2.415 2.636
+ 2.637 2.791 2.791 5.275 5.308 5.450 5.867 5.996 5.997 6.118
+ 0.000001 0.000001 0.052140
+ -6.509 -3.142 -3.140 -2.961 -2.462 -2.459 -2.241 2.385 2.425 2.610
+ 2.611 2.754 2.754 5.230 5.264 5.285 5.827 6.062 6.063 6.161
+ 0.000003 0.000003 0.104281
+ -6.478 -3.299 -3.134 -3.132 -2.453 -2.451 -1.868 2.414 2.456 2.537
+ 2.538 2.653 2.653 4.928 5.107 5.141 5.775 6.250 6.252 6.277
+ 0.000004 0.000004 0.156421
+ -6.427 -3.625 -3.122 -3.120 -2.440 -2.437 -1.486 2.430 2.431 2.461
+ 2.506 2.510 2.511 4.513 4.928 4.964 5.744 6.434 6.540 6.542
+ 0.000005 0.000005 0.208561
+ -6.356 -3.936 -3.106 -3.104 -2.422 -2.420 -1.096 2.304 2.305 2.350
+ 2.350 2.528 2.576 4.082 4.717 4.756 5.736 6.612 6.908 6.910
+ 0.000006 0.000006 0.260701
+ -6.266 -4.230 -3.088 -3.086 -2.403 -2.400 -0.701 2.174 2.175 2.189
+ 2.190 2.611 2.666 3.647 4.490 4.534 5.751 6.780 7.336 7.338
+ 0.000008 0.000008 0.312842
+ -6.156 -4.508 -3.070 -3.068 -2.382 -2.380 -0.302 2.043 2.044 2.052
+ 2.053 2.711 2.774 3.215 4.258 4.312 5.788 6.850 7.402 7.810
+ 0.000009 0.000009 0.364982
+ -6.029 -4.766 -3.054 -3.052 -2.364 -2.362 0.097 1.921 1.922 1.948
+ 1.948 2.790 2.822 2.901 4.030 4.100 5.843 6.776 7.577 8.322
+ 0.000010 0.000010 0.417122
+ -5.889 -5.001 -3.040 -3.038 -2.349 -2.347 0.488 1.829 1.830 1.868
+ 1.869 2.381 2.939 3.046 3.812 3.908 5.909 6.656 7.828 8.673
+ 0.000011 0.000011 0.469262
+ -5.747 -5.199 -3.031 -3.029 -2.339 -2.337 0.843 1.772 1.773 1.819
+ 1.819 2.016 3.042 3.203 3.609 3.760 5.971 6.553 8.092 8.583
+ 0.000013 0.000013 0.521403
+ -5.668 -5.297 -3.028 -3.026 -2.336 -2.334 1.027 1.753 1.754 1.802
+ 1.802 1.827 3.088 3.323 3.473 3.698 5.999 6.510 8.273 8.459
diff --git a/vitalypro/bands/si2ge2_relax.dat b/vitalypro/bands/si2ge2_relax.dat
new file mode 100644
index 00000000..b137e447
--- /dev/null
+++ b/vitalypro/bands/si2ge2_relax.dat
@@ -0,0 +1,34 @@
+ &plot nbnd= 20, nks= 11 /
+ 0.000000 0.000000 0.000000
+ -6.422 -2.873 -2.871 -2.564 -2.498 -2.186 -2.183 2.755 2.764 2.785
+ 2.819 2.901 2.910 5.601 5.682 5.715 6.141 6.154 6.335 6.560
+ -0.000016 -0.000016 0.049989
+ -6.412 -2.887 -2.871 -2.869 -2.184 -2.181 -2.161 2.731 2.741 2.794
+ 2.829 2.867 2.876 5.466 5.635 5.668 6.203 6.217 6.304 6.611
+ -0.000031 -0.000031 0.099978
+ -6.382 -3.228 -2.863 -2.861 -2.176 -2.173 -1.783 2.665 2.674 2.775
+ 2.783 2.822 2.859 5.146 5.506 5.541 6.264 6.383 6.397 6.720
+ -0.000047 -0.000047 0.149967
+ -6.332 -3.554 -2.852 -2.850 -2.163 -2.160 -1.393 2.566 2.575 2.643
+ 2.651 2.869 2.908 4.748 5.321 5.359 6.242 6.660 6.674 6.861
+ -0.000063 -0.000063 0.199956
+ -6.262 -3.864 -2.837 -2.835 -2.147 -2.144 -0.995 2.450 2.458 2.493
+ 2.500 2.933 2.977 4.321 5.105 5.147 6.241 7.015 7.023 7.029
+ -0.000079 -0.000079 0.249945
+ -6.174 -4.158 -2.821 -2.819 -2.129 -2.126 -0.588 2.330 2.337 2.343
+ 2.350 3.015 3.065 3.881 4.874 4.924 6.261 7.183 7.428 7.443
+ -0.000094 -0.000094 0.299934
+ -6.066 -4.434 -2.804 -2.802 -2.110 -2.107 -0.176 2.206 2.212 2.217
+ 2.224 3.112 3.172 3.440 4.642 4.702 6.300 7.280 7.843 7.890
+ -0.000110 -0.000110 0.349924
+ -5.942 -4.690 -2.789 -2.786 -2.093 -2.090 0.237 2.091 2.096 2.121
+ 2.126 3.002 3.221 3.297 4.414 4.491 6.354 7.251 7.967 8.389
+ -0.000126 -0.000126 0.399913
+ -5.803 -4.923 -2.777 -2.774 -2.079 -2.077 0.645 2.005 2.009 2.047
+ 2.051 2.576 3.334 3.439 4.196 4.302 6.418 7.156 8.190 8.919
+ -0.000142 -0.000142 0.449902
+ -5.665 -5.117 -2.769 -2.765 -2.070 -2.068 1.020 1.951 1.956 2.001
+ 2.005 2.190 3.433 3.594 3.995 4.157 6.475 7.068 8.444 8.967
+ -0.000157 -0.000157 0.499891
+ -5.589 -5.213 -2.766 -2.763 -2.066 -2.065 1.222 1.933 1.937 1.983
+ 1.987 1.989 3.477 3.713 3.860 4.097 6.500 7.031 8.629 8.818
diff --git a/vitalypro/bands/si3ge1_0.dat b/vitalypro/bands/si3ge1_0.dat
new file mode 100644
index 00000000..d6201d72
--- /dev/null
+++ b/vitalypro/bands/si3ge1_0.dat
@@ -0,0 +1,34 @@
+ &plot nbnd= 20, nks= 11 /
+ 0.000000 0.000000 0.000000
+ -6.045 -2.521 -2.284 -1.873 -1.820 -1.756 -1.754 3.017 3.088 3.088
+ 3.145 3.225 3.225 5.862 6.063 6.063 6.312 6.787 6.789 6.790
+ 0.000001 0.000001 0.048948
+ -6.034 -2.519 -2.496 -1.818 -1.752 -1.751 -1.648 2.993 3.059 3.059
+ 3.111 3.234 3.234 5.772 6.016 6.016 6.375 6.759 6.844 6.846
+ 0.000003 0.000003 0.097896
+ -6.004 -2.821 -2.511 -1.810 -1.743 -1.742 -1.284 2.927 2.979 2.979
+ 3.018 3.263 3.263 5.531 5.887 5.887 6.554 6.723 7.006 7.007
+ 0.000004 0.000004 0.146844
+ -5.953 -3.146 -2.500 -1.797 -1.728 -1.726 -0.892 2.828 2.862 2.862
+ 2.886 3.310 3.311 5.195 5.703 5.703 6.705 6.830 7.252 7.258
+ 0.000005 0.000005 0.195793
+ -5.882 -3.459 -2.485 -1.781 -1.708 -1.707 -0.485 2.712 2.726 2.726
+ 2.736 3.377 3.377 4.805 5.489 5.490 6.710 7.182 7.415 7.586
+ 0.000006 0.000006 0.244741
+ -5.790 -3.758 -2.469 -1.763 -1.686 -1.685 -0.068 2.586 2.587 2.587
+ 2.592 3.461 3.462 4.386 5.263 5.264 6.738 7.584 7.593 7.973
+ 0.000008 0.000008 0.293689
+ -5.680 -4.039 -2.452 -1.744 -1.663 -1.662 0.357 2.449 2.457 2.457
+ 2.479 3.564 3.564 3.953 5.036 5.036 6.786 7.699 8.051 8.183
+ 0.000009 0.000009 0.342637
+ -5.551 -4.301 -2.436 -1.727 -1.642 -1.641 0.787 2.334 2.346 2.346
+ 2.382 3.513 3.682 3.682 4.815 4.816 6.853 7.669 8.310 8.546
+ 0.000010 0.000010 0.391585
+ -5.407 -4.541 -2.424 -1.713 -1.625 -1.624 1.218 2.248 2.262 2.262
+ 2.308 3.074 3.814 3.814 4.609 4.610 6.933 7.559 8.554 9.071
+ 0.000011 0.000011 0.440533
+ -5.258 -4.748 -2.416 -1.704 -1.614 -1.613 1.637 2.194 2.209 2.209
+ 2.262 2.650 3.946 3.947 4.430 4.431 7.012 7.449 8.845 9.476
+ 0.000013 0.000013 0.489481
+ -5.168 -4.857 -2.413 -1.700 -1.610 -1.609 1.909 2.176 2.191 2.191
+ 2.246 2.376 4.022 4.023 4.338 4.340 7.052 7.397 9.114 9.209
diff --git a/vitalypro/bands/si3ge1_1.dat b/vitalypro/bands/si3ge1_1.dat
new file mode 100644
index 00000000..0e28ede6
--- /dev/null
+++ b/vitalypro/bands/si3ge1_1.dat
@@ -0,0 +1,34 @@
+ &plot nbnd= 20, nks= 11 /
+ 0.000000 0.000000 0.000000
+ -6.093 -2.651 -2.319 -1.954 -1.903 -1.889 -1.888 2.954 3.024 3.025
+ 3.029 3.029 3.086 5.802 5.873 5.874 6.242 6.574 6.715 6.718
+ 0.000001 0.000001 0.049843
+ -6.083 -2.648 -2.529 -1.951 -1.886 -1.884 -1.680 2.929 2.994 2.995
+ 3.039 3.039 3.051 5.708 5.826 5.828 6.306 6.542 6.772 6.775
+ 0.000003 0.000003 0.099686
+ -6.052 -2.853 -2.641 -1.943 -1.876 -1.875 -1.317 2.860 2.912 2.912
+ 2.954 3.068 3.068 5.459 5.700 5.701 6.489 6.499 6.906 6.937
+ 0.000004 0.000004 0.149529
+ -6.000 -3.179 -2.629 -1.930 -1.861 -1.859 -0.927 2.758 2.791 2.792
+ 2.818 3.116 3.116 5.115 5.518 5.519 6.478 6.771 7.054 7.195
+ 0.000005 0.000005 0.199371
+ -5.928 -3.493 -2.614 -1.913 -1.841 -1.839 -0.523 2.637 2.651 2.651
+ 2.663 3.183 3.183 4.722 5.305 5.306 6.480 7.129 7.225 7.528
+ 0.000006 0.000006 0.249214
+ -5.837 -3.792 -2.597 -1.895 -1.818 -1.816 -0.110 2.508 2.508 2.509
+ 2.513 3.268 3.269 4.303 5.080 5.080 6.506 7.400 7.546 7.921
+ 0.000008 0.000008 0.299057
+ -5.725 -4.075 -2.579 -1.875 -1.795 -1.793 0.311 2.368 2.375 2.375
+ 2.396 3.371 3.372 3.872 4.852 4.853 6.554 7.508 7.977 8.011
+ 0.000009 0.000009 0.348900
+ -5.595 -4.338 -2.563 -1.857 -1.773 -1.771 0.737 2.250 2.261 2.261
+ 2.297 3.436 3.491 3.492 4.631 4.631 6.620 7.458 8.129 8.512
+ 0.000010 0.000010 0.398743
+ -5.450 -4.580 -2.550 -1.843 -1.756 -1.754 1.163 2.162 2.174 2.175
+ 2.220 3.001 3.623 3.625 4.423 4.424 6.701 7.338 8.387 9.044
+ 0.000011 0.000011 0.448586
+ -5.299 -4.788 -2.542 -1.834 -1.744 -1.742 1.574 2.107 2.120 2.121
+ 2.173 2.584 3.758 3.759 4.243 4.244 6.783 7.222 8.685 9.314
+ 0.000013 0.000013 0.498429
+ -5.207 -4.899 -2.539 -1.830 -1.740 -1.738 1.838 2.089 2.102 2.102
+ 2.157 2.319 3.834 3.837 4.150 4.151 6.824 7.167 8.952 9.058
diff --git a/vitalypro/bands/si3ge1_2.dat b/vitalypro/bands/si3ge1_2.dat
new file mode 100644
index 00000000..df554fc8
--- /dev/null
+++ b/vitalypro/bands/si3ge1_2.dat
@@ -0,0 +1,34 @@
+ &plot nbnd= 20, nks= 11 /
+ 0.000000 0.000000 0.000000
+ -6.135 -2.766 -2.349 -2.073 -2.008 -2.007 -1.929 2.854 2.855 2.901
+ 2.971 2.971 3.037 5.704 5.707 5.748 6.181 6.383 6.543 6.654
+ 0.000001 0.000001 0.050700
+ -6.125 -2.763 -2.557 -2.070 -2.004 -2.003 -1.707 2.864 2.865 2.875
+ 2.940 2.941 3.000 5.649 5.659 5.661 6.246 6.346 6.602 6.712
+ 0.000003 0.000003 0.101399
+ -6.094 -2.881 -2.756 -2.062 -1.994 -1.993 -1.346 2.803 2.855 2.855
+ 2.893 2.894 2.901 5.391 5.533 5.536 6.298 6.433 6.723 6.880
+ 0.000004 0.000004 0.152099
+ -6.042 -3.207 -2.743 -2.048 -1.978 -1.977 -0.959 2.697 2.731 2.731
+ 2.759 2.942 2.943 5.040 5.353 5.355 6.272 6.721 6.878 7.142
+ 0.000005 0.000005 0.202798
+ -5.969 -3.522 -2.728 -2.031 -1.958 -1.957 -0.558 2.573 2.587 2.587
+ 2.600 3.010 3.010 4.643 5.142 5.143 6.272 7.056 7.085 7.481
+ 0.000006 0.000006 0.253498
+ -5.877 -3.822 -2.710 -2.012 -1.935 -1.934 -0.148 2.440 2.440 2.442
+ 2.445 3.096 3.097 4.224 4.916 4.918 6.296 7.237 7.508 7.816
+ 0.000008 0.000008 0.304197
+ -5.765 -4.105 -2.692 -1.992 -1.911 -1.910 0.269 2.298 2.303 2.303
+ 2.325 3.200 3.201 3.795 4.689 4.690 6.343 7.335 7.797 7.978
+ 0.000009 0.000009 0.354897
+ -5.634 -4.370 -2.675 -1.973 -1.888 -1.887 0.690 2.177 2.186 2.186
+ 2.222 3.321 3.322 3.362 4.467 4.468 6.409 7.267 7.972 8.486
+ 0.000010 0.000010 0.405596
+ -5.487 -4.613 -2.662 -1.958 -1.870 -1.869 1.110 2.086 2.098 2.098
+ 2.144 2.932 3.455 3.456 4.258 4.259 6.491 7.136 8.243 9.023
+ 0.000011 0.000011 0.456296
+ -5.334 -4.823 -2.653 -1.949 -1.859 -1.858 1.515 2.030 2.042 2.042
+ 2.095 2.522 3.590 3.592 4.077 4.077 6.574 7.015 8.547 9.171
+ 0.000013 0.000013 0.506995
+ -5.241 -4.935 -2.650 -1.945 -1.854 -1.853 1.771 2.011 2.024 2.024
+ 2.078 2.264 3.669 3.670 3.983 3.983 6.617 6.958 8.811 8.925
diff --git a/vitalypro/bands/si3ge1_3.dat b/vitalypro/bands/si3ge1_3.dat
new file mode 100644
index 00000000..306fe54c
--- /dev/null
+++ b/vitalypro/bands/si3ge1_3.dat
@@ -0,0 +1,34 @@
+ &plot nbnd= 20, nks= 11 /
+ 0.000000 0.000000 0.000000
+ -6.173 -2.870 -2.374 -2.181 -2.115 -2.115 -1.950 2.695 2.695 2.857
+ 2.927 2.927 2.996 5.552 5.553 5.698 6.127 6.207 6.368 6.600
+ 0.000001 0.000001 0.051544
+ -6.163 -2.867 -2.581 -2.178 -2.112 -2.111 -1.730 2.705 2.705 2.830
+ 2.895 2.895 2.958 5.507 5.508 5.595 6.165 6.194 6.429 6.659
+ 0.000002 0.000002 0.103088
+ -6.131 -2.904 -2.859 -2.170 -2.101 -2.101 -1.372 2.734 2.735 2.755
+ 2.806 2.807 2.855 5.327 5.383 5.384 6.111 6.386 6.556 6.831
+ 0.000004 0.000004 0.154631
+ -6.079 -3.230 -2.847 -2.156 -2.085 -2.085 -0.987 2.645 2.678 2.679
+ 2.709 2.784 2.784 4.968 5.205 5.205 6.081 6.678 6.717 7.098
+ 0.000005 0.000005 0.206175
+ -6.006 -3.546 -2.831 -2.138 -2.064 -2.064 -0.589 2.517 2.530 2.530
+ 2.546 2.852 2.852 4.568 4.994 4.995 6.078 6.903 7.048 7.443
+ 0.000006 0.000006 0.257719
+ -5.912 -3.847 -2.812 -2.118 -2.040 -2.040 -0.182 2.379 2.379 2.383
+ 2.385 2.939 2.939 4.148 4.769 4.770 6.100 7.089 7.478 7.638
+ 0.000007 0.000007 0.309263
+ -5.799 -4.131 -2.794 -2.097 -2.016 -2.015 0.230 2.235 2.239 2.239
+ 2.261 3.044 3.044 3.720 4.541 4.542 6.146 7.174 7.636 7.954
+ 0.000009 0.000009 0.360806
+ -5.667 -4.397 -2.777 -2.078 -1.993 -1.992 0.646 2.111 2.119 2.119
+ 2.155 3.166 3.166 3.291 4.319 4.319 6.213 7.088 7.833 8.467
+ 0.000010 0.000010 0.412350
+ -5.519 -4.641 -2.763 -2.063 -1.974 -1.974 1.061 2.018 2.029 2.029
+ 2.074 2.866 3.301 3.301 4.109 4.109 6.295 6.949 8.115 9.010
+ 0.000011 0.000011 0.463894
+ -5.365 -4.853 -2.754 -2.053 -1.962 -1.962 1.458 1.961 1.972 1.972
+ 2.024 2.462 3.438 3.439 3.926 3.926 6.380 6.823 8.425 9.042
+ 0.000012 0.000012 0.515438
+ -5.270 -4.967 -2.751 -2.049 -1.958 -1.957 1.707 1.941 1.953 1.953
+ 2.007 2.211 3.518 3.518 3.832 3.832 6.425 6.764 8.686 8.807
diff --git a/vitalypro/bands/si3ge1_4.dat b/vitalypro/bands/si3ge1_4.dat
new file mode 100644
index 00000000..61ac3ad5
--- /dev/null
+++ b/vitalypro/bands/si3ge1_4.dat
@@ -0,0 +1,34 @@
+ &plot nbnd= 20, nks= 11 /
+ 0.000000 0.000000 0.000000
+ -6.210 -2.972 -2.403 -2.287 -2.221 -2.220 -1.974 2.540 2.541 2.812
+ 2.882 2.882 2.955 5.401 5.403 5.640 6.035 6.073 6.200 6.544
+ 0.000001 0.000001 0.052382
+ -6.200 -2.969 -2.608 -2.284 -2.218 -2.216 -1.758 2.550 2.551 2.784
+ 2.849 2.849 2.916 5.357 5.359 5.533 5.988 6.141 6.262 6.605
+ 0.000002 0.000002 0.104763
+ -6.168 -2.961 -2.930 -2.275 -2.207 -2.206 -1.402 2.580 2.581 2.707
+ 2.758 2.758 2.809 5.235 5.237 5.254 5.928 6.336 6.393 6.779
+ 0.000004 0.000004 0.157145
+ -6.115 -3.256 -2.948 -2.261 -2.190 -2.189 -1.020 2.593 2.626 2.627
+ 2.630 2.630 2.659 4.887 5.058 5.060 5.894 6.562 6.634 7.051
+ 0.000005 0.000005 0.209526
+ -6.042 -3.571 -2.931 -2.243 -2.169 -2.168 -0.626 2.461 2.474 2.474
+ 2.491 2.699 2.699 4.483 4.849 4.851 5.888 6.755 7.010 7.401
+ 0.000006 0.000006 0.261908
+ -5.948 -3.873 -2.913 -2.222 -2.144 -2.143 -0.223 2.319 2.319 2.324
+ 2.325 2.787 2.787 4.062 4.625 4.626 5.908 6.944 7.445 7.464
+ 0.000007 0.000007 0.314289
+ -5.834 -4.158 -2.893 -2.201 -2.119 -2.118 0.184 2.173 2.175 2.175
+ 2.197 2.893 2.893 3.636 4.397 4.398 5.953 7.013 7.482 7.926
+ 0.000009 0.000009 0.366671
+ -5.701 -4.425 -2.876 -2.181 -2.096 -2.094 0.594 2.046 2.053 2.053
+ 2.088 3.016 3.016 3.210 4.174 4.175 6.019 6.910 7.700 8.444
+ 0.000010 0.000010 0.419052
+ -5.551 -4.670 -2.861 -2.165 -2.077 -2.075 1.003 1.951 1.960 1.961
+ 2.006 2.790 3.152 3.153 3.964 3.964 6.103 6.764 7.993 8.992
+ 0.000011 0.000011 0.471434
+ -5.396 -4.884 -2.852 -2.155 -2.064 -2.063 1.394 1.892 1.902 1.903
+ 1.954 2.392 3.290 3.292 3.780 3.780 6.189 6.633 8.306 8.911
+ 0.000012 0.000012 0.523815
+ -5.300 -4.999 -2.849 -2.151 -2.060 -2.058 1.635 1.872 1.883 1.883
+ 1.936 2.149 3.371 3.373 3.684 3.684 6.235 6.571 8.564 8.688
diff --git a/vitalypro/bands/si3ge1_5.dat b/vitalypro/bands/si3ge1_5.dat
new file mode 100644
index 00000000..fe8c6d9e
--- /dev/null
+++ b/vitalypro/bands/si3ge1_5.dat
@@ -0,0 +1,34 @@
+ &plot nbnd= 20, nks= 11 /
+ 0.000000 0.000000 0.000000
+ -6.247 -3.076 -2.429 -2.397 -2.330 -2.329 -1.995 2.380 2.380 2.772
+ 2.843 2.843 2.920 5.248 5.248 5.578 5.856 6.021 6.030 6.494
+ 0.000001 0.000001 0.053344
+ -6.237 -3.073 -2.632 -2.394 -2.326 -2.325 -1.781 2.390 2.390 2.743
+ 2.808 2.809 2.879 5.205 5.205 5.467 5.803 6.089 6.091 6.555
+ 0.000002 0.000002 0.106688
+ -6.205 -3.065 -2.953 -2.384 -2.315 -2.314 -1.429 2.420 2.420 2.663
+ 2.714 2.714 2.768 5.085 5.085 5.178 5.735 6.224 6.291 6.734
+ 0.000004 0.000004 0.160031
+ -6.151 -3.278 -3.051 -2.369 -2.298 -2.297 -1.051 2.470 2.470 2.545
+ 2.578 2.578 2.613 4.802 4.910 4.910 5.696 6.402 6.595 7.012
+ 0.000005 0.000005 0.213375
+ -6.077 -3.593 -3.034 -2.350 -2.275 -2.275 -0.661 2.407 2.421 2.421
+ 2.439 2.540 2.540 4.393 4.702 4.702 5.686 6.604 6.977 7.367
+ 0.000006 0.000006 0.266719
+ -5.982 -3.895 -3.014 -2.329 -2.250 -2.249 -0.264 2.261 2.261 2.266
+ 2.267 2.629 2.629 3.972 4.478 4.478 5.704 6.796 7.284 7.419
+ 0.000007 0.000007 0.320063
+ -5.867 -4.182 -2.994 -2.307 -2.224 -2.223 0.138 2.111 2.113 2.113
+ 2.135 2.736 2.736 3.548 4.250 4.250 5.747 6.843 7.329 7.907
+ 0.000009 0.000009 0.373407
+ -5.733 -4.450 -2.976 -2.286 -2.200 -2.199 0.542 1.981 1.987 1.987
+ 2.022 2.860 2.860 3.125 4.026 4.026 5.813 6.722 7.570 8.430
+ 0.000010 0.000010 0.426750
+ -5.582 -4.697 -2.961 -2.270 -2.180 -2.179 0.943 1.883 1.892 1.892
+ 1.937 2.711 2.998 2.998 3.814 3.815 5.898 6.568 7.873 8.949
+ 0.000011 0.000011 0.480094
+ -5.424 -4.912 -2.951 -2.259 -2.167 -2.166 1.326 1.823 1.832 1.832
+ 1.884 2.320 3.138 3.138 3.629 3.630 5.986 6.432 8.190 8.779
+ 0.000012 0.000012 0.533438
+ -5.326 -5.029 -2.948 -2.255 -2.163 -2.162 1.559 1.802 1.812 1.812
+ 1.866 2.084 3.219 3.220 3.532 3.533 6.033 6.368 8.444 8.570
diff --git a/vitalypro/bandstructures.png b/vitalypro/bandstructures.png
new file mode 100644
index 00000000..845b522d
Binary files /dev/null and b/vitalypro/bandstructures.png differ
diff --git a/vitalypro/cell_param/si1ge3_0.xml b/vitalypro/cell_param/si1ge3_0.xml
new file mode 100644
index 00000000..edfa1fea
--- /dev/null
+++ b/vitalypro/cell_param/si1ge3_0.xml
@@ -0,0 +1,474 @@
+
+
+
+
+ QEXSD_19.03
+ XML file generated by PWSCF
+ This run was terminated on: 19: 0:31 27 Oct 2021
+
+
+
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+
+
+
+
+ bands
+ from_scratch
+ Si_cubic
+ ../../pseudo
+ ./
+ false
+ false
+ true
+ low
+ 10000000
+ 1
+ 5.000000000000000e-5
+ 5.000000000000000e-4
+ 5.000000000000000e-1
+ high
+ 100000
+
+
+
+ Si.pbe-rrkj.UPF
+
+
+ 7.264000000000000e1
+ Ge.pbe-kjpaw.UPF
+
+
+
+
+ 1.405111535285519e-3 1.405111535285519e-3 -1.147601786588879e-1
+ 2.587762405052827e0 2.587762405052827e0 2.572383108915556e0
+ 5.174093333111363e0 1.114382838919461e-3 5.400151413576964e0
+ 1.114382838919461e-3 5.174093333111363e0 5.400151413576964e0
+ 5.174105516175742e0 5.174105516175742e0 -1.150545734239518e-1
+ 7.760454409860624e0 2.587477863319820e0 8.223721925960206e0
+ 2.587477863319820e0 7.760454409860624e0 8.223721925960206e0
+ 7.760465239881091e0 7.760465239881091e0 2.572085768067451e0
+
+
+ 1.034568286400000e1 -2.734100000000000e-4 -2.927809999999998e-4
+ -2.734100000000000e-4 1.034568286400000e1 -2.927809999999998e-4
+ -2.734100000000000e-4 -2.734100000000000e-4 1.102820471300000e1
+ |
+
+
+ pbe
+
+
+ false
+ false
+ false
+
+
+ gaussian
+ 0.000000000000000e0
+ smearing
+
+
+ false
+ 1.500000000000000e1
+ 6.000000000000000e1
+
+
+ davidson
+ plain
+ 7.000000000000000e-1
+ 5.000000000000000e-9
+ 8
+ 100
+ false
+ false
+ false
+ false
+ 0.000000000000000e0
+ false
+ 20
+ 20
+
+
+ 11
+ 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0
+ 1.327454222647453e-6 1.327454222647453e-6 4.690556239895754e-2
+ 2.654908445294906e-6 2.654908445294906e-6 9.381112479791508e-2
+ 3.982362667942358e-6 3.982362667942358e-6 1.407166871968726e-1
+ 5.309816890589811e-6 5.309816890589811e-6 1.876222495958301e-1
+ 6.637271113237264e-6 6.637271113237264e-6 2.345278119947876e-1
+ 7.964725335884716e-6 7.964725335884716e-6 2.814333743937452e-1
+ 9.292179558532171e-6 9.292179558532171e-6 3.283389367927027e-1
+ 1.061963378117962e-5 1.061963378117962e-5 3.752444991916603e-1
+ 1.194708800382707e-5 1.194708800382707e-5 4.221500615906177e-1
+ 1.327454222647453e-5 1.327454222647453e-5 4.690556239895753e-1
+
+
+ none
+ 1.000000000000000e2
+ false
+ false
+
+
+ none
+ 0.000000000000000e0
+ 4.484405930157417e5
+ 0.000000000000000e0
+ false
+ false
+ false
+
+
+ false
+ false
+ false
+ false
+ false
+ false
+
+
+
+ 0
+
+
+ 1.716165000000000e1
+ 1.722233200073242e1
+
+
+ 1.606034100000000e1
+ 1.609450101852417e1
+
+
+
+
diff --git a/vitalypro/cell_param/si1ge3_1.xml b/vitalypro/cell_param/si1ge3_1.xml
new file mode 100644
index 00000000..476afd2b
--- /dev/null
+++ b/vitalypro/cell_param/si1ge3_1.xml
@@ -0,0 +1,474 @@
+
+
+
+
+ QEXSD_19.03
+ XML file generated by PWSCF
+ This run was terminated on: 19: 3:20 27 Oct 2021
+
+
+
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+
+
+
+
+ bands
+ from_scratch
+ Si_cubic
+ ../../pseudo
+ ./
+ false
+ false
+ true
+ low
+ 10000000
+ 1
+ 5.000000000000000e-5
+ 5.000000000000000e-4
+ 5.000000000000000e-1
+ high
+ 100000
+
+
+
+ Si.pbe-rrkj.UPF
+
+
+ 7.264000000000000e1
+ Ge.pbe-kjpaw.UPF
+
+
+
+
+ -4.097399632492362e-2 -4.097399632492362e-2 -1.144486119524545e-1
+ 2.573222086847321e0 2.573222086847321e0 2.556089302492989e0
+ 5.188050602774733e0 -3.966372447506924e-2 5.363263054284219e0
+ -3.966372447506924e-2 5.188050602774733e0 5.363263054284219e0
+ 5.188081127520958e0 5.188081127520958e0 -1.141250738309693e-1
+ 7.802404273988652e0 2.573846832196580e0 8.169462442494345e0
+ 2.573846832196580e0 7.802404273988652e0 8.169462442494345e0
+ 7.801911059247420e0 7.801911059247420e0 2.557249530087892e0
+
+
+ 1.045682864000000e1 -2.734100000000000e-4 -2.891800000000000e-4
+ -2.734100000000000e-4 1.045682864000000e1 -2.891800000000000e-4
+ -2.734100000000000e-4 -2.734100000000000e-4 1.095544484700000e1
+ |
+
+
+ pbe
+
+
+ false
+ false
+ false
+
+
+ gaussian
+ 0.000000000000000e0
+ smearing
+
+
+ false
+ 1.500000000000000e1
+ 6.000000000000000e1
+
+
+ davidson
+ plain
+ 7.000000000000000e-1
+ 5.000000000000000e-9
+ 8
+ 100
+ false
+ false
+ false
+ false
+ 0.000000000000000e0
+ false
+ 20
+ 20
+
+
+ 11
+ 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0
+ 1.319834867065534e-6 1.319834867065534e-6 4.772434532799802e-2
+ 2.639669734131069e-6 2.639669734131069e-6 9.544869065599604e-2
+ 3.959504601196602e-6 3.959504601196602e-6 1.431730359839940e-1
+ 5.279339468262138e-6 5.279339468262138e-6 1.908973813119921e-1
+ 6.599174335327671e-6 6.599174335327671e-6 2.386217266399901e-1
+ 7.919009202393203e-6 7.919009202393203e-6 2.863460719679881e-1
+ 9.238844069458739e-6 9.238844069458739e-6 3.340704172959861e-1
+ 1.055867893652428e-5 1.055867893652428e-5 3.817947626239842e-1
+ 1.187851380358981e-5 1.187851380358981e-5 4.295191079519821e-1
+ 1.319834867065534e-5 1.319834867065534e-5 4.772434532799801e-1
+
+
+ none
+ 1.000000000000000e2
+ false
+ false
+
+
+ none
+ 0.000000000000000e0
+ 4.484405930157417e5
+ 0.000000000000000e0
+ false
+ false
+ false
+
+
+ false
+ false
+ false
+ false
+ false
+ false
+
+
+
+ 0
+
+
+ 1.804620400000000e1
+ 1.812012600898743e1
+
+
+ 1.694716300000001e1
+ 1.698510193824768e1
+
+
+
+
diff --git a/vitalypro/cell_param/si1ge3_2.xml b/vitalypro/cell_param/si1ge3_2.xml
new file mode 100644
index 00000000..899704ee
--- /dev/null
+++ b/vitalypro/cell_param/si1ge3_2.xml
@@ -0,0 +1,474 @@
+
+
+
+
+ QEXSD_19.03
+ XML file generated by PWSCF
+ This run was terminated on: 19: 5:35 27 Oct 2021
+
+
+
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+
+
+
+
+ bands
+ from_scratch
+ Si_cubic
+ ../../pseudo
+ ./
+ false
+ false
+ true
+ low
+ 10000000
+ 1
+ 5.000000000000000e-5
+ 5.000000000000000e-4
+ 5.000000000000000e-1
+ high
+ 100000
+
+
+
+ Si.pbe-rrkj.UPF
+
+
+ 7.264000000000000e1
+ Ge.pbe-kjpaw.UPF
+
+
+
+
+ -8.064928214447386e-2 -8.064928214447386e-2 -1.140836075704354e-1
+ 2.559717633359914e0 2.559717633359914e0 2.537135698979481e0
+ 5.201029844678028e0 -7.797006244833899e-2 5.327109991209231e0
+ -7.797006244833899e-2 5.201029844678028e0 5.327109991209231e0
+ 5.201387832506916e0 5.201387832506916e0 -1.130692895097045e-1
+ 7.841436266796949e0 2.561189758363323e0 8.114918196197518e0
+ 2.561189758363323e0 7.841436266796949e0 8.114918196197518e0
+ 7.840736272553079e0 7.840736272553079e0 2.539845186419086e0
+
+
+ 1.056082864000000e1 -2.734100000000000e-4 -2.854620000000000e-4
+ -2.734100000000000e-4 1.056082864000000e1 -2.854620000000000e-4
+ -2.734100000000000e-4 -2.734100000000000e-4 1.088126290300000e1
+ |
+
+
+ pbe
+
+
+ false
+ false
+ false
+
+
+ gaussian
+ 0.000000000000000e0
+ smearing
+
+
+ false
+ 1.500000000000000e1
+ 6.000000000000000e1
+
+
+ davidson
+ plain
+ 7.000000000000000e-1
+ 5.000000000000000e-9
+ 8
+ 100
+ false
+ false
+ false
+ false
+ 0.000000000000000e0
+ false
+ 20
+ 20
+
+
+ 11
+ 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0
+ 1.311747513449711e-6 1.311747513449711e-6 4.852758708199636e-2
+ 2.623495026899422e-6 2.623495026899422e-6 9.705517416399271e-2
+ 3.935242540349133e-6 3.935242540349133e-6 1.455827612459891e-1
+ 5.246990053798845e-6 5.246990053798845e-6 1.941103483279854e-1
+ 6.558737567248554e-6 6.558737567248554e-6 2.426379354099818e-1
+ 7.870485080698266e-6 7.870485080698266e-6 2.911655224919782e-1
+ 9.182232594147978e-6 9.182232594147978e-6 3.396931095739745e-1
+ 1.049398010759769e-5 1.049398010759769e-5 3.882206966559709e-1
+ 1.180572762104740e-5 1.180572762104740e-5 4.367482837379672e-1
+ 1.311747513449711e-5 1.311747513449711e-5 4.852758708199636e-1
+
+
+ none
+ 1.000000000000000e2
+ false
+ false
+
+
+ none
+ 0.000000000000000e0
+ 4.484405930157417e5
+ 0.000000000000000e0
+ false
+ false
+ false
+
+
+ false
+ false
+ false
+ false
+ false
+ false
+
+
+
+ 0
+
+
+ 1.922804200000000e1
+ 1.929749202728272e1
+
+
+ 1.811825000000000e1
+ 1.815567708015442e1
+
+
+
+
diff --git a/vitalypro/cell_param/si1ge3_3.xml b/vitalypro/cell_param/si1ge3_3.xml
new file mode 100644
index 00000000..769d0b12
--- /dev/null
+++ b/vitalypro/cell_param/si1ge3_3.xml
@@ -0,0 +1,474 @@
+
+
+
+
+ QEXSD_19.03
+ XML file generated by PWSCF
+ This run was terminated on: 19: 8:30 27 Oct 2021
+
+
+
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+
+
+
+
+ bands
+ from_scratch
+ Si_cubic
+ ../../pseudo
+ ./
+ false
+ false
+ true
+ low
+ 10000000
+ 1
+ 5.000000000000000e-5
+ 5.000000000000000e-4
+ 5.000000000000000e-1
+ high
+ 100000
+
+
+
+ Si.pbe-rrkj.UPF
+
+
+ 7.264000000000000e1
+ Ge.pbe-kjpaw.UPF
+
+
+
+
+ -1.187566357354030e-1 -1.187566357354030e-1 -1.137914823664572e-1
+ 2.546995286496302e0 2.546995286496302e0 2.520027377129939e0
+ 5.213349437990391e0 -1.148688001170062e-1 5.293635747208438e0
+ -1.148688001170062e-1 5.213349437990391e0 5.293635747208438e0
+ 5.214012344469177e0 5.214012344469177e0 -1.121683285607809e-1
+ 7.878763103023761e0 2.549538383549906e0 8.064382586262134e0
+ 2.549538383549906e0 7.878763103023761e0 8.064382586262134e0
+ 7.877845140208819e0 7.877845140208819e0 2.524531333387523e0
+
+
+ 1.066056828600000e1 -2.734100000000000e-4 -2.820070000000000e-4
+ -2.734100000000000e-4 1.066056828600000e1 -2.820070000000000e-4
+ -2.734100000000000e-4 -2.734100000000000e-4 1.081293885300000e1
+ |
+
+
+ pbe
+
+
+ false
+ false
+ false
+
+
+ gaussian
+ 0.000000000000000e0
+ smearing
+
+
+ false
+ 1.500000000000000e1
+ 6.000000000000000e1
+
+
+ davidson
+ plain
+ 7.000000000000000e-1
+ 5.000000000000000e-9
+ 8
+ 100
+ false
+ false
+ false
+ false
+ 0.000000000000000e0
+ false
+ 20
+ 20
+
+
+ 11
+ 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0
+ 1.304059133135228e-6 1.304059133135228e-6 4.929542491839733e-2
+ 2.608118266270457e-6 2.608118266270457e-6 9.859084983679466e-2
+ 3.912177399405686e-6 3.912177399405686e-6 1.478862747551920e-1
+ 5.216236532540913e-6 5.216236532540913e-6 1.971816996735893e-1
+ 6.520295665676141e-6 6.520295665676141e-6 2.464771245919866e-1
+ 7.824354798811371e-6 7.824354798811371e-6 2.957725495103840e-1
+ 9.128413931946598e-6 9.128413931946598e-6 3.450679744287814e-1
+ 1.043247306508183e-5 1.043247306508183e-5 3.943633993471786e-1
+ 1.173653219821705e-5 1.173653219821705e-5 4.436588242655760e-1
+ 1.304059133135228e-5 1.304059133135228e-5 4.929542491839732e-1
+
+
+ none
+ 1.000000000000000e2
+ false
+ false
+
+
+ none
+ 0.000000000000000e0
+ 4.484405930157417e5
+ 0.000000000000000e0
+ false
+ false
+ false
+
+
+ false
+ false
+ false
+ false
+ false
+ false
+
+
+
+ 0
+
+
+ 1.940579000000000e1
+ 1.947974395751953e1
+
+
+ 1.775576100000000e1
+ 1.779367995262146e1
+
+
+
+
diff --git a/vitalypro/cell_param/si1ge3_4.xml b/vitalypro/cell_param/si1ge3_4.xml
new file mode 100644
index 00000000..207749d0
--- /dev/null
+++ b/vitalypro/cell_param/si1ge3_4.xml
@@ -0,0 +1,474 @@
+
+
+
+
+ QEXSD_19.03
+ XML file generated by PWSCF
+ This run was terminated on: 19:13: 2 27 Oct 2021
+
+
+
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+
+
+
+
+ bands
+ from_scratch
+ Si_cubic
+ ../../pseudo
+ ./
+ false
+ false
+ true
+ low
+ 10000000
+ 1
+ 5.000000000000000e-5
+ 5.000000000000000e-4
+ 5.000000000000000e-1
+ high
+ 100000
+
+
+
+ Si.pbe-rrkj.UPF
+
+
+ 7.264000000000000e1
+ Ge.pbe-kjpaw.UPF
+
+
+
+
+ -1.571699737817690e-1 -1.571699737817690e-1 -1.138477489620638e-1
+ 2.534029085593049e0 2.534029085593049e0 2.503407411535740e0
+ 5.226089444344715e0 -1.521875124111721e-1 5.263189863034914e0
+ -1.521875124111721e-1 5.226089444344715e0 5.263189863034914e0
+ 5.227080764438409e0 5.227080764438409e0 -1.115121551762068e-1
+ 7.916158804650308e0 2.538190925831536e0 8.017718809744252e0
+ 2.538190925831536e0 7.916158804650308e0 8.017718809744252e0
+ 7.914686725000324e0 7.914686725000324e0 2.510570926778772e0
+
+
+ 1.076056828600000e1 -2.734100000000000e-4 -2.787860000000000e-4
+ -2.734100000000000e-4 1.076056828600000e1 -2.787860000000000e-4
+ -2.734100000000000e-4 -2.734100000000000e-4 1.074977523200000e1
+ |
+
+
+ pbe
+
+
+ false
+ false
+ false
+
+
+ gaussian
+ 0.000000000000000e0
+ smearing
+
+
+ false
+ 1.500000000000000e1
+ 6.000000000000000e1
+
+
+ davidson
+ plain
+ 7.000000000000000e-1
+ 5.000000000000000e-9
+ 8
+ 100
+ false
+ false
+ false
+ false
+ 0.000000000000000e0
+ false
+ 20
+ 20
+
+
+ 11
+ 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0
+ 1.296739132914616e-6 1.296739132914616e-6 5.005020139967510e-2
+ 2.593478265829232e-6 2.593478265829232e-6 1.001004027993502e-1
+ 3.890217398743847e-6 3.890217398743847e-6 1.501506041990253e-1
+ 5.186956531658463e-6 5.186956531658463e-6 2.002008055987004e-1
+ 6.483695664573076e-6 6.483695664573076e-6 2.502510069983754e-1
+ 7.780434797487694e-6 7.780434797487694e-6 3.003012083980506e-1
+ 9.077173930402306e-6 9.077173930402306e-6 3.503514097977257e-1
+ 1.037391306331693e-5 1.037391306331693e-5 4.004016111974008e-1
+ 1.167065219623154e-5 1.167065219623154e-5 4.504518125970758e-1
+ 1.296739132914615e-5 1.296739132914615e-5 5.005020139967509e-1
+
+
+ none
+ 1.000000000000000e2
+ false
+ false
+
+
+ none
+ 0.000000000000000e0
+ 4.484405930157417e5
+ 0.000000000000000e0
+ false
+ false
+ false
+
+
+ false
+ false
+ false
+ false
+ false
+ false
+
+
+
+ 0
+
+
+ 1.935857800000000e1
+ 1.941799402236938e1
+
+
+ 1.797250700000000e1
+ 1.800056910514832e1
+
+
+
+
diff --git a/vitalypro/cell_param/si1ge3_5.xml b/vitalypro/cell_param/si1ge3_5.xml
new file mode 100644
index 00000000..65125fba
--- /dev/null
+++ b/vitalypro/cell_param/si1ge3_5.xml
@@ -0,0 +1,474 @@
+
+
+
+
+ QEXSD_19.03
+ XML file generated by PWSCF
+ This run was terminated on: 19:15: 6 27 Oct 2021
+
+
+
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+
+
+
+
+ bands
+ from_scratch
+ Si_cubic
+ ../../pseudo
+ ./
+ false
+ false
+ true
+ low
+ 10000000
+ 1
+ 5.000000000000000e-5
+ 5.000000000000000e-4
+ 5.000000000000000e-1
+ high
+ 100000
+
+
+
+ Si.pbe-rrkj.UPF
+
+
+ 7.264000000000000e1
+ Ge.pbe-kjpaw.UPF
+
+
+
+
+ -1.987147826721182e-1 -1.987147826721182e-1 -1.128675026635088e-1
+ 2.520099596793559e0 2.520099596793559e0 2.486003948479311e0
+ 5.239289151147302e0 -1.922591909638086e-1 5.226450096687450e0
+ -1.922591909638086e-1 5.239289151147302e0 5.226450096687450e0
+ 5.240073793783569e0 5.240073793783569e0 -1.101010210837357e-1
+ 7.957805341277840e0 2.523817691541522e0 7.963351999282672e0
+ 2.523817691541522e0 7.957805341277840e0 7.963351999282672e0
+ 7.956766660867806e0 7.956766660867806e0 2.492819151291257e0
+
+
+ 1.087056828600000e1 -2.734100000000000e-4 -2.749870000000000e-4
+ -2.734100000000000e-4 1.087056828600000e1 -2.749870000000000e-4
+ -2.734100000000000e-4 -2.734100000000000e-4 1.067605784800000e1
+ |
+
+
+ pbe
+
+
+ false
+ false
+ false
+
+
+ gaussian
+ 0.000000000000000e0
+ smearing
+
+
+ false
+ 1.500000000000000e1
+ 6.000000000000000e1
+
+
+ davidson
+ plain
+ 7.000000000000000e-1
+ 5.000000000000000e-9
+ 8
+ 100
+ false
+ false
+ false
+ false
+ 0.000000000000000e0
+ false
+ 20
+ 20
+
+
+ 11
+ 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0
+ 1.287900088817334e-6 1.287900088817334e-6 5.091096574118417e-2
+ 2.575800177634668e-6 2.575800177634668e-6 1.018219314823683e-1
+ 3.863700266452003e-6 3.863700266452003e-6 1.527328972235525e-1
+ 5.151600355269336e-6 5.151600355269336e-6 2.036438629647367e-1
+ 6.439500444086670e-6 6.439500444086670e-6 2.545548287059209e-1
+ 7.727400532904007e-6 7.727400532904007e-6 3.054657944471050e-1
+ 9.015300621721339e-6 9.015300621721339e-6 3.563767601882892e-1
+ 1.030320071053867e-5 1.030320071053867e-5 4.072877259294733e-1
+ 1.159110079935601e-5 1.159110079935601e-5 4.581986916706575e-1
+ 1.287900088817334e-5 1.287900088817334e-5 5.091096574118417e-1
+
+
+ none
+ 1.000000000000000e2
+ false
+ false
+
+
+ none
+ 0.000000000000000e0
+ 4.484405930157417e5
+ 0.000000000000000e0
+ false
+ false
+ false
+
+
+ false
+ false
+ false
+ false
+ false
+ false
+
+
+
+ 0
+
+
+ 1.904968000000000e1
+ 1.909522008895874e1
+
+
+ 1.789199700000000e1
+ 1.791991305351258e1
+
+
+
+
diff --git a/vitalypro/cell_param/si2ge2_0.xml b/vitalypro/cell_param/si2ge2_0.xml
new file mode 100644
index 00000000..f8ad3b4c
--- /dev/null
+++ b/vitalypro/cell_param/si2ge2_0.xml
@@ -0,0 +1,474 @@
+
+
+
+
+ QEXSD_19.03
+ XML file generated by PWSCF
+ This run was terminated on: 18:16:23 26 Oct 2021
+
+
+
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+
+
+
+
+ bands
+ from_scratch
+ Si_cubic
+ ../../pseudo
+ ./
+ false
+ false
+ true
+ low
+ 10000000
+ 1
+ 5.000000000000000e-5
+ 5.000000000000000e-4
+ 5.000000000000000e-1
+ high
+ 100000
+
+
+
+ Si.pbe-rrkj.UPF
+
+
+ 7.264000000000000e1
+ Ge.pbe-kjpaw.UPF
+
+
+
+
+ 1.404406667437952e-3 1.404406667437952e-3 -4.473343261149537e-2
+ 2.587760345251342e0 2.587760345251342e0 2.517347977909821e0
+ 5.174096277304679e0 1.115990995858547e-3 5.217030514893136e0
+ 1.115990995858547e-3 5.174096277304679e0 5.217030514893136e0
+ 5.174106810638142e0 5.174106810638142e0 -4.501924801991594e-2
+ 7.760456065260715e0 2.587475826195049e0 8.047598618895766e0
+ 2.587475826195049e0 7.760456065260715e0 8.047598618895766e0
+ 7.760462539462447e0 7.760462539462447e0 2.517063043113779e0
+
+
+ 1.034568286400000e1 -2.734100000000000e-4 -2.808260000000000e-4
+ -2.734100000000000e-4 1.034568286400000e1 -2.808260000000000e-4
+ -2.734100000000000e-4 -2.734100000000000e-4 1.079211782200000e1
+ |
+
+
+ pbe
+
+
+ false
+ false
+ false
+
+
+ gaussian
+ 0.000000000000000e0
+ smearing
+
+
+ false
+ 1.500000000000000e1
+ 6.000000000000000e1
+
+
+ davidson
+ plain
+ 7.000000000000000e-1
+ 5.000000000000000e-9
+ 8
+ 100
+ false
+ false
+ false
+ false
+ 0.000000000000000e0
+ false
+ 20
+ 20
+
+
+ 11
+ 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0
+ 1.301104319514717e-6 1.301104319514717e-6 4.793166205318520e-2
+ 2.602208639029433e-6 2.602208639029433e-6 9.586332410637040e-2
+ 3.903312958544150e-6 3.903312958544150e-6 1.437949861595556e-1
+ 5.204417278058867e-6 5.204417278058867e-6 1.917266482127408e-1
+ 6.505521597573583e-6 6.505521597573583e-6 2.396583102659259e-1
+ 7.806625917088300e-6 7.806625917088300e-6 2.875899723191112e-1
+ 9.107730236603016e-6 9.107730236603016e-6 3.355216343722964e-1
+ 1.040883455611773e-5 1.040883455611773e-5 3.834532964254816e-1
+ 1.170993887563245e-5 1.170993887563245e-5 4.313849584786667e-1
+ 1.301104319514717e-5 1.301104319514717e-5 4.793166205318519e-1
+
+
+ none
+ 1.000000000000000e2
+ false
+ false
+
+
+ none
+ 0.000000000000000e0
+ 3.672227080435770e5
+ 0.000000000000000e0
+ false
+ false
+ false
+
+
+ false
+ false
+ false
+ false
+ false
+ false
+
+
+
+ 0
+
+
+ 1.785568700000000e1
+ 1.788387989997864e1
+
+
+ 1.651095500000000e1
+ 1.652714109420776e1
+
+
+
+
diff --git a/vitalypro/cell_param/si2ge2_1.xml b/vitalypro/cell_param/si2ge2_1.xml
new file mode 100644
index 00000000..6fc14900
--- /dev/null
+++ b/vitalypro/cell_param/si2ge2_1.xml
@@ -0,0 +1,474 @@
+
+
+
+
+ QEXSD_19.03
+ XML file generated by PWSCF
+ This run was terminated on: 18:24:21 26 Oct 2021
+
+
+
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+
+
+
+
+ bands
+ from_scratch
+ Si_cubic
+ ../../pseudo
+ ./
+ false
+ false
+ true
+ low
+ 10000000
+ 1
+ 5.000000000000000e-5
+ 5.000000000000000e-4
+ 5.000000000000000e-1
+ high
+ 100000
+
+
+
+ Si.pbe-rrkj.UPF
+
+
+ 7.264000000000000e1
+ Ge.pbe-kjpaw.UPF
+
+
+
+
+ -4.084677807193163e-2 -4.084677807193163e-2 -4.452252405725629e-2
+ 2.573268640250605e0 2.573268640250605e0 2.497030763136631e0
+ 5.187694406406219e0 -4.008572299725620e-2 5.177595192167118e0
+ -4.008572299725620e-2 5.187694406406219e0 5.177595192167118e0
+ 5.188247359169963e0 5.188247359169963e0 -4.300854162000296e-2
+ 7.801772901369843e0 2.574675987331906e0 7.989440715455436e0
+ 2.574675987331906e0 7.801772901369843e0 7.989440715455436e0
+ 7.802151470206048e0 7.802151470206048e0 2.498598619776207e0
+
+
+ 1.045682864000000e1 -2.734100000000000e-4 -2.768190000000000e-4
+ -2.734100000000000e-4 1.045682864000000e1 -2.768190000000000e-4
+ -2.734100000000000e-4 -2.734100000000000e-4 1.071265005100000e1
+ |
+
+
+ pbe
+
+
+ false
+ false
+ false
+
+
+ gaussian
+ 0.000000000000000e0
+ smearing
+
+
+ false
+ 1.500000000000000e1
+ 6.000000000000000e1
+
+
+ davidson
+ plain
+ 7.000000000000000e-1
+ 5.000000000000000e-9
+ 8
+ 100
+ false
+ false
+ false
+ false
+ 0.000000000000000e0
+ false
+ 20
+ 20
+
+
+ 11
+ 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0
+ 1.292053027491588e-6 1.292053027491588e-6 4.880598456773017e-2
+ 2.584106054983176e-6 2.584106054983176e-6 9.761196913546033e-2
+ 3.876159082474764e-6 3.876159082474764e-6 1.464179537031905e-1
+ 5.168212109966353e-6 5.168212109966353e-6 1.952239382709207e-1
+ 6.460265137457938e-6 6.460265137457938e-6 2.440299228386508e-1
+ 7.752318164949528e-6 7.752318164949528e-6 2.928359074063811e-1
+ 9.044371192441114e-6 9.044371192441114e-6 3.416418919741111e-1
+ 1.033642421993270e-5 1.033642421993270e-5 3.904478765418413e-1
+ 1.162847724742429e-5 1.162847724742429e-5 4.392538611095715e-1
+ 1.292053027491588e-5 1.292053027491588e-5 4.880598456773016e-1
+
+
+ none
+ 1.000000000000000e2
+ false
+ false
+
+
+ none
+ 0.000000000000000e0
+ 3.672227080435770e5
+ 0.000000000000000e0
+ false
+ false
+ false
+
+
+ false
+ false
+ false
+ false
+ false
+ false
+
+
+
+ 0
+
+
+ 1.848316900000000e1
+ 1.855565404891968e1
+
+
+ 1.666781200000000e1
+ 1.670562005043030e1
+
+
+
+
diff --git a/vitalypro/cell_param/si2ge2_2.xml b/vitalypro/cell_param/si2ge2_2.xml
new file mode 100644
index 00000000..b72ccc46
--- /dev/null
+++ b/vitalypro/cell_param/si2ge2_2.xml
@@ -0,0 +1,474 @@
+
+
+
+
+ QEXSD_19.03
+ XML file generated by PWSCF
+ This run was terminated on: 18:27:12 26 Oct 2021
+
+
+
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+
+
+
+
+ bands
+ from_scratch
+ Si_cubic
+ ../../pseudo
+ ./
+ false
+ false
+ true
+ low
+ 10000000
+ 1
+ 5.000000000000000e-5
+ 5.000000000000000e-4
+ 5.000000000000000e-1
+ high
+ 100000
+
+
+
+ Si.pbe-rrkj.UPF
+
+
+ 7.264000000000000e1
+ Ge.pbe-kjpaw.UPF
+
+
+
+
+ -8.029057999910789e-2 -8.029057999910789e-2 -4.465005789451247e-2
+ 2.559540010441779e0 2.559540010441779e0 2.479762154716498e0
+ 5.200464204293028e0 -7.883500332744369e-2 5.145037008027051e0
+ -7.883500332744369e-2 5.200464204293028e0 5.145037008027051e0
+ 5.201780946565162e0 5.201780946565162e0 -4.121450554930824e-2
+ 7.840458240926599e0 2.562462131755583e0 7.940498486690504e0
+ 2.562462131755583e0 7.840458240926599e0 7.940498486690504e0
+ 7.841298311120071e0 7.841298311120071e0 2.483294084984205e0
+
+
+ 1.056082864000000e1 -2.734100000000000e-4 -2.734340000000000e-4
+ -2.734100000000000e-4 1.056082864000000e1 -2.734340000000000e-4
+ -2.734100000000000e-4 -2.734100000000000e-4 1.064615758800000e1
+ |
+
+
+ pbe
+
+
+ false
+ false
+ false
+
+
+ gaussian
+ 0.000000000000000e0
+ smearing
+
+
+ false
+ 1.500000000000000e1
+ 6.000000000000000e1
+
+
+ davidson
+ plain
+ 7.000000000000000e-1
+ 5.000000000000000e-9
+ 8
+ 100
+ false
+ false
+ false
+ false
+ 0.000000000000000e0
+ false
+ 20
+ 20
+
+
+ 11
+ 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0
+ 1.284224272565796e-6 1.284224272565796e-6 4.959925012301931e-2
+ 2.568448545131592e-6 2.568448545131592e-6 9.919850024603862e-2
+ 3.852672817697389e-6 3.852672817697389e-6 1.487977503690580e-1
+ 5.136897090263184e-6 5.136897090263184e-6 1.983970004920772e-1
+ 6.421121362828980e-6 6.421121362828980e-6 2.479962506150966e-1
+ 7.705345635394778e-6 7.705345635394778e-6 2.975955007381159e-1
+ 8.989569907960572e-6 8.989569907960572e-6 3.471947508611353e-1
+ 1.027379418052637e-5 1.027379418052637e-5 3.967940009841545e-1
+ 1.155801845309216e-5 1.155801845309216e-5 4.463932511071738e-1
+ 1.284224272565796e-5 1.284224272565796e-5 4.959925012301932e-1
+
+
+ none
+ 1.000000000000000e2
+ false
+ false
+
+
+ none
+ 0.000000000000000e0
+ 3.672227080435770e5
+ 0.000000000000000e0
+ false
+ false
+ false
+
+
+ false
+ false
+ false
+ false
+ false
+ false
+
+
+
+ 0
+
+
+ 1.922289400000000e1
+ 1.929700088500977e1
+
+
+ 1.802030900000000e1
+ 1.806570601463318e1
+
+
+
+
diff --git a/vitalypro/cell_param/si2ge2_3.xml b/vitalypro/cell_param/si2ge2_3.xml
new file mode 100644
index 00000000..7908fd5d
--- /dev/null
+++ b/vitalypro/cell_param/si2ge2_3.xml
@@ -0,0 +1,474 @@
+
+
+
+
+ QEXSD_19.03
+ XML file generated by PWSCF
+ This run was terminated on: 18:29: 0 26 Oct 2021
+
+
+
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+
+
+
+
+ bands
+ from_scratch
+ Si_cubic
+ ../../pseudo
+ ./
+ false
+ false
+ true
+ low
+ 10000000
+ 1
+ 5.000000000000000e-5
+ 5.000000000000000e-4
+ 5.000000000000000e-1
+ high
+ 100000
+
+
+
+ Si.pbe-rrkj.UPF
+
+
+ 7.264000000000000e1
+ Ge.pbe-kjpaw.UPF
+
+
+
+
+ -1.179300733043311e-1 -1.179300733043311e-1 -4.426832187731278e-2
+ 2.546666457141644e0 2.546666457141644e0 2.462997566491623e0
+ 5.212952663532625e0 -1.150077667973663e-1 5.110870334356099e0
+ -1.150077667973663e-1 5.212952663532625e0 5.110870334356099e0
+ 5.214279706701909e0 5.214279706701909e0 -3.951375202971117e-2
+ 7.877300366179780e0 2.549586688729315e0 7.888231670298891e0
+ 2.549586688729315e0 7.877300366179780e0 7.888231670298891e0
+ 7.879030215812644e0 7.879030215812644e0 2.466929816343321e0
+
+
+ 1.066056828600000e1 -2.734100000000000e-4 -2.698399999999999e-4
+ -2.734100000000000e-4 1.066056828600000e1 -2.698399999999999e-4
+ -2.734100000000000e-4 -2.734100000000000e-4 1.057623402600000e1
+ |
+
+
+ pbe
+
+
+ false
+ false
+ false
+
+
+ gaussian
+ 0.000000000000000e0
+ smearing
+
+
+ false
+ 1.500000000000000e1
+ 6.000000000000000e1
+
+
+ davidson
+ plain
+ 7.000000000000000e-1
+ 5.000000000000000e-9
+ 8
+ 100
+ false
+ false
+ false
+ false
+ 0.000000000000000e0
+ false
+ 20
+ 20
+
+
+ 11
+ 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0
+ 1.275723100436894e-6 1.275723100436894e-6 5.039869711970894e-2
+ 2.551446200873789e-6 2.551446200873789e-6 1.007973942394179e-1
+ 3.827169301310684e-6 3.827169301310684e-6 1.511960913591268e-1
+ 5.102892401747577e-6 5.102892401747577e-6 2.015947884788358e-1
+ 6.378615502184472e-6 6.378615502184472e-6 2.519934855985447e-1
+ 7.654338602621368e-6 7.654338602621368e-6 3.023921827182537e-1
+ 8.930061703058261e-6 8.930061703058261e-6 3.527908798379626e-1
+ 1.020578480349515e-5 1.020578480349515e-5 4.031895769576716e-1
+ 1.148150790393205e-5 1.148150790393205e-5 4.535882740773805e-1
+ 1.275723100436894e-5 1.275723100436894e-5 5.039869711970894e-1
+
+
+ none
+ 1.000000000000000e2
+ false
+ false
+
+
+ none
+ 0.000000000000000e0
+ 3.672227080435770e5
+ 0.000000000000000e0
+ false
+ false
+ false
+
+
+ false
+ false
+ false
+ false
+ false
+ false
+
+
+
+ 0
+
+
+ 1.832985300000000e1
+ 1.838387989997864e1
+
+
+ 1.711017500000000e1
+ 1.713861680030823e1
+
+
+
+
diff --git a/vitalypro/cell_param/si2ge2_4.xml b/vitalypro/cell_param/si2ge2_4.xml
new file mode 100644
index 00000000..1948cd9e
--- /dev/null
+++ b/vitalypro/cell_param/si2ge2_4.xml
@@ -0,0 +1,474 @@
+
+
+
+
+ QEXSD_19.03
+ XML file generated by PWSCF
+ This run was terminated on: 18:30:44 26 Oct 2021
+
+
+
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+
+
+
+
+ bands
+ from_scratch
+ Si_cubic
+ ../../pseudo
+ ./
+ false
+ false
+ true
+ low
+ 10000000
+ 1
+ 5.000000000000000e-5
+ 5.000000000000000e-4
+ 5.000000000000000e-1
+ high
+ 100000
+
+
+
+ Si.pbe-rrkj.UPF
+
+
+ 7.264000000000000e1
+ Ge.pbe-kjpaw.UPF
+
+
+
+
+ -1.560260658617494e-1 -1.560260658617494e-1 -4.374094844650385e-2
+ 2.534046040215914e0 2.534046040215914e0 2.445373542159869e0
+ 5.225299865743789e0 -1.518648473431602e-1 5.074713295297327e0
+ -1.518648473431602e-1 5.225299865743789e0 5.074713295297327e0
+ 5.226368347134941e0 5.226368347134941e0 -3.812297595686972e-2
+ 7.914746444125576e0 2.537383294676864e0 7.834752904508117e0
+ 2.537383294676864e0 7.914746444125576e0 7.834752904508117e0
+ 7.916925181193773e0 7.916925181193773e0 2.449578897122018e0
+
+
+ 1.076056828600000e1 -2.734100000000000e-4 -2.660640000000000e-4
+ -2.734100000000000e-4 1.076056828600000e1 -2.660640000000000e-4
+ -2.734100000000000e-4 -2.734100000000000e-4 1.050342487000000e1
+ |
+
+
+ pbe
+
+
+ false
+ false
+ false
+
+
+ gaussian
+ 0.000000000000000e0
+ smearing
+
+
+ false
+ 1.500000000000000e1
+ 6.000000000000000e1
+
+
+ davidson
+ plain
+ 7.000000000000000e-1
+ 5.000000000000000e-9
+ 8
+ 100
+ false
+ false
+ false
+ false
+ 0.000000000000000e0
+ false
+ 20
+ 20
+
+
+ 11
+ 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0
+ 1.266590489598078e-6 1.266590489598078e-6 5.122409328286625e-2
+ 2.533180979196156e-6 2.533180979196156e-6 1.024481865657325e-1
+ 3.799771468794233e-6 3.799771468794233e-6 1.536722798485988e-1
+ 5.066361958392312e-6 5.066361958392312e-6 2.048963731314650e-1
+ 6.332952447990390e-6 6.332952447990390e-6 2.561204664143312e-1
+ 7.599542937588466e-6 7.599542937588466e-6 3.073445596971975e-1
+ 8.866133427186542e-6 8.866133427186542e-6 3.585686529800638e-1
+ 1.013272391678462e-5 1.013272391678462e-5 4.097927462629300e-1
+ 1.139931440638270e-5 1.139931440638270e-5 4.610168395457962e-1
+ 1.266590489598078e-5 1.266590489598078e-5 5.122409328286625e-1
+
+
+ none
+ 1.000000000000000e2
+ false
+ false
+
+
+ none
+ 0.000000000000000e0
+ 3.672227080435770e5
+ 0.000000000000000e0
+ false
+ false
+ false
+
+
+ false
+ false
+ false
+ false
+ false
+ false
+
+
+
+ 0
+
+
+ 2.435240400000000e1
+ 2.442502093315125e1
+
+
+ 2.227762300000000e1
+ 2.232217407226563e1
+
+
+
+
diff --git a/vitalypro/cell_param/si2ge2_5.xml b/vitalypro/cell_param/si2ge2_5.xml
new file mode 100644
index 00000000..ad566ff9
--- /dev/null
+++ b/vitalypro/cell_param/si2ge2_5.xml
@@ -0,0 +1,474 @@
+
+
+
+
+ QEXSD_19.03
+ XML file generated by PWSCF
+ This run was terminated on: 18:32:47 26 Oct 2021
+
+
+
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+
+
+
+
+ bands
+ from_scratch
+ Si_cubic
+ ../../pseudo
+ ./
+ false
+ false
+ true
+ low
+ 10000000
+ 1
+ 5.000000000000000e-5
+ 5.000000000000000e-4
+ 5.000000000000000e-1
+ high
+ 100000
+
+
+
+ Si.pbe-rrkj.UPF
+
+
+ 7.264000000000000e1
+ Ge.pbe-kjpaw.UPF
+
+
+
+
+ -1.979232236382058e-1 -1.979232236382058e-1 -4.308317446389514e-2
+ 2.519955510845105e0 2.519955510845105e0 2.425692894862625e0
+ 5.238968502417075e0 -1.929164263744695e-1 5.035420503275157e0
+ -1.929164263744695e-1 5.238968502417075e0 5.035420503275157e0
+ 5.239959161106622e0 5.239959161106622e0 -3.652913180351451e-2
+ 7.956189430792432e0 2.524185165795596e0 7.776967220424183e0
+ 2.524185165795596e0 7.956189430792432e0 7.776967220424183e0
+ 7.958460138941791e0 7.958460138941791e0 2.430562998786539e0
+
+
+ 1.087056828600000e1 -2.734100000000000e-4 -2.619210000000000e-4
+ -2.734100000000000e-4 1.087056828600000e1 -2.619210000000000e-4
+ -2.734100000000000e-4 -2.734100000000000e-4 1.042434959100000e1
+ |
+
+
+ pbe
+
+
+ false
+ false
+ false
+
+
+ gaussian
+ 0.000000000000000e0
+ smearing
+
+
+ false
+ 1.500000000000000e1
+ 6.000000000000000e1
+
+
+ davidson
+ plain
+ 7.000000000000000e-1
+ 5.000000000000000e-9
+ 8
+ 100
+ false
+ false
+ false
+ false
+ 0.000000000000000e0
+ false
+ 20
+ 20
+
+
+ 11
+ 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0
+ 1.256325807420914e-6 1.256325807420914e-6 5.214027125352347e-2
+ 2.512651614841828e-6 2.512651614841828e-6 1.042805425070469e-1
+ 3.768977422262743e-6 3.768977422262743e-6 1.564208137605704e-1
+ 5.025303229683655e-6 5.025303229683655e-6 2.085610850140939e-1
+ 6.281629037104569e-6 6.281629037104569e-6 2.607013562676173e-1
+ 7.537954844525485e-6 7.537954844525485e-6 3.128416275211409e-1
+ 8.794280651946398e-6 8.794280651946398e-6 3.649818987746643e-1
+ 1.005060645936731e-5 1.005060645936731e-5 4.171221700281878e-1
+ 1.130693226678823e-5 1.130693226678823e-5 4.692624412817113e-1
+ 1.256325807420914e-5 1.256325807420914e-5 5.214027125352347e-1
+
+
+ none
+ 1.000000000000000e2
+ false
+ false
+
+
+ none
+ 0.000000000000000e0
+ 3.672227080435770e5
+ 0.000000000000000e0
+ false
+ false
+ false
+
+
+ false
+ false
+ false
+ false
+ false
+ false
+
+
+
+ 0
+
+
+ 1.865847300000000e1
+ 1.868454289436341e1
+
+
+ 1.740882200000000e1
+ 1.743066692352295e1
+
+
+
+
diff --git a/vitalypro/cell_param/si2ge2_relax.xml b/vitalypro/cell_param/si2ge2_relax.xml
new file mode 100644
index 00000000..6e1b3aaa
--- /dev/null
+++ b/vitalypro/cell_param/si2ge2_relax.xml
@@ -0,0 +1,474 @@
+
+
+
+
+ QEXSD_19.03
+ XML file generated by PWSCF
+ This run was terminated on: 16:42:53 26 Oct 2021
+
+
+
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+
+
+
+
+ bands
+ from_scratch
+ Si_cubic
+ ../../pseudo
+ ./
+ false
+ false
+ true
+ low
+ 10000000
+ 1
+ 5.000000000000000e-5
+ 5.000000000000000e-4
+ 5.000000000000000e-1
+ high
+ 100000
+
+
+
+ Si.pbe-rrkj.UPF
+
+
+ 7.264000000000000e1
+ Ge.pbe-kjpaw.UPF
+
+
+
+
+ -1.116822494254278e-1 -1.116822494254278e-1 -4.531905307089824e-2
+ 2.537649205599927e0 2.537649205599927e0 2.471288055818799e0
+ 5.195656355506836e0 -1.097133059730516e-1 5.129356561353791e0
+ -1.097133059730516e-1 5.195656355506836e0 5.129356561353791e0
+ 5.192711844717810e0 5.192711844717810e0 -3.628744716947523e-2
+ 7.844766699346559e0 2.541009059295700e0 7.917876352166046e0
+ 2.541009059295700e0 7.844766699346559e0 7.917876352166046e0
+ 7.841797128899285e0 7.841797128899285e0 2.480371544151200e0
+
+
+ 1.060789756200000e1 -5.460376000000000e-3 3.338752000000000e-3
+ -5.460376000000000e-3 1.060789756200000e1 3.338752000000000e-3
+ 3.376974000000000e-3 3.376974000000000e-3 1.061021974900000e1
+ |
+
+
+ pbe
+
+
+ false
+ false
+ false
+
+
+ gaussian
+ 0.000000000000000e0
+ smearing
+
+
+ false
+ 1.500000000000000e1
+ 6.000000000000000e1
+
+
+ davidson
+ plain
+ 7.000000000000000e-1
+ 5.000000000000000e-9
+ 8
+ 100
+ false
+ false
+ false
+ false
+ 0.000000000000000e0
+ false
+ 20
+ 20
+
+
+ 11
+ 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0
+ -1.574176997262032e-5 -1.574176997262032e-5 4.998907595747389e-2
+ -3.148353994524064e-5 -3.148353994524064e-5 9.997815191494778e-2
+ -4.722530991786096e-5 -4.722530991786096e-5 1.499672278724217e-1
+ -6.296707989048128e-5 -6.296707989048128e-5 1.999563038298956e-1
+ -7.870884986310158e-5 -7.870884986310158e-5 2.499453797873695e-1
+ -9.445061983572192e-5 -9.445061983572192e-5 2.999344557448433e-1
+ -1.101923898083422e-4 -1.101923898083422e-4 3.499235317023173e-1
+ -1.259341597809626e-4 -1.259341597809626e-4 3.999126076597912e-1
+ -1.416759297535829e-4 -1.416759297535829e-4 4.499016836172650e-1
+ -1.574176997262032e-4 -1.574176997262032e-4 4.998907595747389e-1
+
+
+ none
+ 1.000000000000000e2
+ false
+ false
+
+
+ none
+ 0.000000000000000e0
+ 3.672227080435770e5
+ 0.000000000000000e0
+ false
+ false
+ false
+
+
+ false
+ false
+ false
+ false
+ false
+ false
+
+
+
+ 0
+
+
+ 1.918452400000000e1
+ 1.925226998329163e1
+
+
+ 1.796744400000000e1
+ 1.801732301712036e1
+
+
+
+
diff --git a/vitalypro/cell_param/si3ge1_0.xml b/vitalypro/cell_param/si3ge1_0.xml
new file mode 100644
index 00000000..645368c5
--- /dev/null
+++ b/vitalypro/cell_param/si3ge1_0.xml
@@ -0,0 +1,474 @@
+
+
+
+
+ QEXSD_19.03
+ XML file generated by PWSCF
+ This run was terminated on: 21:38:28 27 Oct 2021
+
+
+
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+
+
+
+
+ bands
+ from_scratch
+ Si_cubic
+ ../../pseudo
+ ./
+ false
+ false
+ true
+ low
+ 10000000
+ 1
+ 5.000000000000000e-5
+ 5.000000000000000e-4
+ 5.000000000000000e-1
+ high
+ 100000
+
+
+
+ Si.pbe-rrkj.UPF
+
+
+ 7.264000000000000e1
+ Ge.pbe-kjpaw.UPF
+
+
+
+
+ 1.399170236323726e-3 1.399170236323726e-3 -4.366785383968383e-2
+ 2.587752553910498e0 2.587752553910498e0 2.531271104001422e0
+ 5.174104074314703e0 1.126745427280799e-3 5.107062458719562e0
+ 1.126745427280799e-3 5.174104074314703e0 5.107062458719562e0
+ 5.174102341435837e0 5.174102341435837e0 -4.394209656526659e-2
+ 7.760459718101330e0 2.587478931015086e0 7.815778718097569e0
+ 2.587478931015086e0 7.760459718101330e0 7.815778718097569e0
+ 7.760454725444886e0 7.760454725444886e0 2.531000784347291e0
+
+
+ 1.034568286400000e1 -2.734100000000000e-4 -2.694760000000000e-4
+ -2.734100000000000e-4 1.034568286400000e1 -2.694760000000000e-4
+ -2.734100000000000e-4 -2.734100000000000e-4 1.056800250300000e1
+ |
+
+
+ pbe
+
+
+ false
+ false
+ false
+
+
+ gaussian
+ 0.000000000000000e0
+ smearing
+
+
+ false
+ 1.500000000000000e1
+ 6.000000000000000e1
+
+
+ davidson
+ plain
+ 7.000000000000000e-1
+ 5.000000000000000e-9
+ 8
+ 100
+ false
+ false
+ false
+ false
+ 0.000000000000000e0
+ false
+ 20
+ 20
+
+
+ 11
+ 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0
+ 1.274995545389975e-6 1.274995545389975e-6 4.894814740119839e-2
+ 2.549991090779951e-6 2.549991090779951e-6 9.789629480239679e-2
+ 3.824986636169925e-6 3.824986636169925e-6 1.468444422035952e-1
+ 5.099982181559901e-6 5.099982181559901e-6 1.957925896047936e-1
+ 6.374977726949877e-6 6.374977726949877e-6 2.447407370059919e-1
+ 7.649973272339850e-6 7.649973272339850e-6 2.936888844071904e-1
+ 8.924968817729827e-6 8.924968817729827e-6 3.426370318083887e-1
+ 1.019996436311980e-5 1.019996436311980e-5 3.915851792095872e-1
+ 1.147495990850978e-5 1.147495990850978e-5 4.405333266107855e-1
+ 1.274995545389975e-5 1.274995545389975e-5 4.894814740119839e-1
+
+
+ none
+ 1.000000000000000e2
+ false
+ false
+
+
+ none
+ 0.000000000000000e0
+ 2.860048230714124e5
+ 0.000000000000000e0
+ false
+ false
+ false
+
+
+ false
+ false
+ false
+ false
+ false
+ false
+
+
+
+ 0
+
+
+ 1.608374600000000e1
+ 1.612092900276184e1
+
+
+ 1.487313900000000e1
+ 1.489032888412476e1
+
+
+
+
diff --git a/vitalypro/cell_param/si3ge1_1.xml b/vitalypro/cell_param/si3ge1_1.xml
new file mode 100644
index 00000000..2a405179
--- /dev/null
+++ b/vitalypro/cell_param/si3ge1_1.xml
@@ -0,0 +1,474 @@
+
+
+
+
+ QEXSD_19.03
+ XML file generated by PWSCF
+ This run was terminated on: 21:40:40 27 Oct 2021
+
+
+
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+
+
+
+
+ bands
+ from_scratch
+ Si_cubic
+ ../../pseudo
+ ./
+ false
+ false
+ true
+ low
+ 10000000
+ 1
+ 5.000000000000000e-5
+ 5.000000000000000e-4
+ 5.000000000000000e-1
+ high
+ 100000
+
+
+
+ Si.pbe-rrkj.UPF
+
+
+ 7.264000000000000e1
+ Ge.pbe-kjpaw.UPF
+
+
+
+
+ -4.053954828697321e-2 -4.053954828697321e-2 -4.330900240595337e-2
+ 2.573115334328349e0 2.573115334328349e0 2.511863987003009e0
+ 5.188238517141388e0 -4.058534202035143e-2 5.068710238195787e0
+ -4.058534202035143e-2 5.188238517141388e0 5.068710238195787e0
+ 5.188458936687253e0 5.188458936687253e0 -4.182000970708135e-2
+ 7.801813133639216e0 2.573792162419555e0 7.758036076305764e0
+ 2.573792162419555e0 7.801813133639216e0 7.758036076305764e0
+ 7.802585067867238e0 7.802585067867238e0 2.512045629368628e0
+
+
+ 1.045682864000000e1 -2.734100000000000e-4 -2.654740000000000e-4
+ -2.734100000000000e-4 1.045682864000000e1 -2.654740000000000e-4
+ -2.734100000000000e-4 -2.734100000000000e-4 1.048979506500000e1
+ |
+
+
+ pbe
+
+
+ false
+ false
+ false
+
+
+ gaussian
+ 0.000000000000000e0
+ smearing
+
+
+ false
+ 1.500000000000000e1
+ 6.000000000000000e1
+
+
+ davidson
+ plain
+ 7.000000000000000e-1
+ 5.000000000000000e-9
+ 8
+ 100
+ false
+ false
+ false
+ false
+ 0.000000000000000e0
+ false
+ 20
+ 20
+
+
+ 11
+ 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0
+ 1.265424826191921e-6 1.265424826191921e-6 4.984286440287551e-2
+ 2.530849652383842e-6 2.530849652383842e-6 9.968572880575103e-2
+ 3.796274478575765e-6 3.796274478575765e-6 1.495285932086265e-1
+ 5.061699304767685e-6 5.061699304767685e-6 1.993714576115020e-1
+ 6.327124130959606e-6 6.327124130959606e-6 2.492143220143775e-1
+ 7.592548957151529e-6 7.592548957151529e-6 2.990571864172531e-1
+ 8.857973783343452e-6 8.857973783343452e-6 3.489000508201286e-1
+ 1.012339860953537e-5 1.012339860953537e-5 3.987429152230041e-1
+ 1.138882343572729e-5 1.138882343572729e-5 4.485857796258796e-1
+ 1.265424826191921e-5 1.265424826191921e-5 4.984286440287550e-1
+
+
+ none
+ 1.000000000000000e2
+ false
+ false
+
+
+ none
+ 0.000000000000000e0
+ 2.860048230714124e5
+ 0.000000000000000e0
+ false
+ false
+ false
+
+
+ false
+ false
+ false
+ false
+ false
+ false
+
+
+
+ 0
+
+
+ 1.600521600000000e1
+ 1.607078504562378e1
+
+
+ 1.483518200000000e1
+ 1.487514305114746e1
+
+
+
+
diff --git a/vitalypro/cell_param/si3ge1_2.xml b/vitalypro/cell_param/si3ge1_2.xml
new file mode 100644
index 00000000..56606436
--- /dev/null
+++ b/vitalypro/cell_param/si3ge1_2.xml
@@ -0,0 +1,474 @@
+
+
+
+
+ QEXSD_19.03
+ XML file generated by PWSCF
+ This run was terminated on: 21:42:36 27 Oct 2021
+
+
+
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+
+
+
+
+ bands
+ from_scratch
+ Si_cubic
+ ../../pseudo
+ ./
+ false
+ false
+ true
+ low
+ 10000000
+ 1
+ 5.000000000000000e-5
+ 5.000000000000000e-4
+ 5.000000000000000e-1
+ high
+ 100000
+
+
+
+ Si.pbe-rrkj.UPF
+
+
+ 7.264000000000000e1
+ Ge.pbe-kjpaw.UPF
+
+
+
+
+ -7.937881548588257e-2 -7.937881548588257e-2 -4.280147298926590e-2
+ 2.559802283642036e0 2.559802283642036e0 2.494064191684730e0
+ 5.201100350360046e0 -7.912088109682660e-2 5.031866408409637e0
+ -7.912088109682660e-2 5.201100350360046e0 5.031866408409637e0
+ 5.201553397082597e0 5.201553397082597e0 -3.977187161192814e-2
+ 7.840137138662102e0 2.560985140707381e0 7.702307559428445e0
+ 2.560985140707381e0 7.840137138662102e0 7.702307559428445e0
+ 7.841799647904219e0 7.841799647904219e0 2.494649290579720e0
+
+
+ 1.056082864000000e1 -2.734100000000000e-4 -2.616140000000000e-4
+ -2.734100000000000e-4 1.056082864000000e1 -2.616140000000000e-4
+ -2.734100000000000e-4 -2.734100000000000e-4 1.041511474100000e1
+ |
+
+
+ pbe
+
+
+ false
+ false
+ false
+
+
+ gaussian
+ 0.000000000000000e0
+ smearing
+
+
+ false
+ 1.500000000000000e1
+ 6.000000000000000e1
+
+
+ davidson
+ plain
+ 7.000000000000000e-1
+ 5.000000000000000e-9
+ 8
+ 100
+ false
+ false
+ false
+ false
+ 0.000000000000000e0
+ false
+ 20
+ 20
+
+
+ 11
+ 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0
+ 1.255966833452484e-6 1.255966833452484e-6 5.069953103321373e-2
+ 2.511933666904969e-6 2.511933666904969e-6 1.013990620664275e-1
+ 3.767900500357454e-6 3.767900500357454e-6 1.520985930996412e-1
+ 5.023867333809938e-6 5.023867333809938e-6 2.027981241328549e-1
+ 6.279834167262423e-6 6.279834167262423e-6 2.534976551660686e-1
+ 7.535801000714908e-6 7.535801000714908e-6 3.041971861992824e-1
+ 8.791767834167391e-6 8.791767834167391e-6 3.548967172324961e-1
+ 1.004773466761988e-5 1.004773466761988e-5 4.055962482657098e-1
+ 1.130370150107236e-5 1.130370150107236e-5 4.562957792989236e-1
+ 1.255966833452484e-5 1.255966833452484e-5 5.069953103321373e-1
+
+
+ none
+ 1.000000000000000e2
+ false
+ false
+
+
+ none
+ 0.000000000000000e0
+ 2.860048230714124e5
+ 0.000000000000000e0
+ false
+ false
+ false
+
+
+ false
+ false
+ false
+ false
+ false
+ false
+
+
+
+ 0
+
+
+ 1.626285300000000e1
+ 1.632469201087952e1
+
+
+ 1.533853000000000e1
+ 1.537488508224487e1
+
+
+
+
diff --git a/vitalypro/cell_param/si3ge1_3.xml b/vitalypro/cell_param/si3ge1_3.xml
new file mode 100644
index 00000000..56bc4928
--- /dev/null
+++ b/vitalypro/cell_param/si3ge1_3.xml
@@ -0,0 +1,474 @@
+
+
+
+
+ QEXSD_19.03
+ XML file generated by PWSCF
+ This run was terminated on: 21:44:31 27 Oct 2021
+
+
+
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+
+
+
+
+ bands
+ from_scratch
+ Si_cubic
+ ../../pseudo
+ ./
+ false
+ false
+ true
+ low
+ 10000000
+ 1
+ 5.000000000000000e-5
+ 5.000000000000000e-4
+ 5.000000000000000e-1
+ high
+ 100000
+
+
+
+ Si.pbe-rrkj.UPF
+
+
+ 7.264000000000000e1
+ Ge.pbe-kjpaw.UPF
+
+
+
+
+ -1.168602256411853e-1 -1.168602256411853e-1 -4.217627788518813e-2
+ 2.547488066600522e0 2.547488066600522e0 2.476552766684604e0
+ 5.213107997131022e0 -1.163091720522052e-1 4.995024360635230e0
+ -1.163091720522052e-1 5.213107997131022e0 4.995024360635230e0
+ 5.213734868422180e0 5.213734868422180e0 -3.815514665455597e-2
+ 7.877215791486701e0 2.548941294342603e0 7.647745598838849e0
+ 2.548941294342603e0 7.877215791486701e0 7.647745598838849e0
+ 7.879559641486034e0 7.879559641486034e0 2.477408746482387e0
+
+
+ 1.066056828600000e1 -2.734100000000000e-4 -2.577640000000000e-4
+ -2.734100000000000e-4 1.066056828600000e1 -2.577640000000000e-4
+ -2.734100000000000e-4 -2.734100000000000e-4 1.034128040700000e1
+ |
+
+
+ pbe
+
+
+ false
+ false
+ false
+
+
+ gaussian
+ 0.000000000000000e0
+ smearing
+
+
+ false
+ 1.500000000000000e1
+ 6.000000000000000e1
+
+
+ davidson
+ plain
+ 7.000000000000000e-1
+ 5.000000000000000e-9
+ 8
+ 100
+ false
+ false
+ false
+ false
+ 0.000000000000000e0
+ false
+ 20
+ 20
+
+
+ 11
+ 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0
+ 1.246318644059802e-6 1.246318644059802e-6 5.154375419039889e-2
+ 2.492637288119604e-6 2.492637288119604e-6 1.030875083807978e-1
+ 3.738955932179408e-6 3.738955932179408e-6 1.546312625711967e-1
+ 4.985274576239208e-6 4.985274576239208e-6 2.061750167615956e-1
+ 6.231593220299012e-6 6.231593220299012e-6 2.577187709519944e-1
+ 7.477911864358816e-6 7.477911864358816e-6 3.092625251423934e-1
+ 8.724230508418618e-6 8.724230508418618e-6 3.608062793327922e-1
+ 9.970549152478416e-6 9.970549152478416e-6 4.123500335231912e-1
+ 1.121686779653822e-5 1.121686779653822e-5 4.638937877135899e-1
+ 1.246318644059802e-5 1.246318644059802e-5 5.154375419039888e-1
+
+
+ none
+ 1.000000000000000e2
+ false
+ false
+
+
+ none
+ 0.000000000000000e0
+ 2.860048230714124e5
+ 0.000000000000000e0
+ false
+ false
+ false
+
+
+ false
+ false
+ false
+ false
+ false
+ false
+
+
+
+ 0
+
+
+ 1.822404500000000e1
+ 1.829808998107910e1
+
+
+ 1.717707700000000e1
+ 1.722214579582214e1
+
+
+
+
diff --git a/vitalypro/cell_param/si3ge1_4.xml b/vitalypro/cell_param/si3ge1_4.xml
new file mode 100644
index 00000000..13a27f71
--- /dev/null
+++ b/vitalypro/cell_param/si3ge1_4.xml
@@ -0,0 +1,474 @@
+
+
+
+
+ QEXSD_19.03
+ XML file generated by PWSCF
+ This run was terminated on: 21:46: 0 27 Oct 2021
+
+
+
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+
+
+
+
+ bands
+ from_scratch
+ Si_cubic
+ ../../pseudo
+ ./
+ false
+ false
+ true
+ low
+ 10000000
+ 1
+ 5.000000000000000e-5
+ 5.000000000000000e-4
+ 5.000000000000000e-1
+ high
+ 100000
+
+
+
+ Si.pbe-rrkj.UPF
+
+
+ 7.264000000000000e1
+ Ge.pbe-kjpaw.UPF
+
+
+
+
+ -1.548050193209853e-1 -1.548050193209853e-1 -4.163359011379829e-2
+ 2.534059699156402e0 2.534059699156402e0 2.459176668752305e0
+ 5.226017162320131e0 -1.537701693858206e-1 4.960443799146653e0
+ -1.537701693858206e-1 5.226017162320131e0 4.960443799146653e0
+ 5.226877254161979e0 5.226877254161979e0 -3.607208831019320e-2
+ 7.914509531050023e0 2.536313730472638e0 7.596232136887920e0
+ 2.536313730472638e0 7.914509531050023e0 7.596232136887920e0
+ 7.917676073321306e0 7.917676073321306e0 2.460380446975667e0
+
+
+ 1.076056828600000e1 -2.734100000000000e-4 -2.540780000000000e-4
+ -2.734100000000000e-4 1.076056828600000e1 -2.540780000000000e-4
+ -2.734100000000000e-4 -2.734100000000000e-4 1.027133855000000e1
+ |
+
+
+ pbe
+
+
+ false
+ false
+ false
+
+
+ gaussian
+ 0.000000000000000e0
+ smearing
+
+
+ false
+ 1.500000000000000e1
+ 6.000000000000000e1
+
+
+ davidson
+ plain
+ 7.000000000000000e-1
+ 5.000000000000000e-9
+ 8
+ 100
+ false
+ false
+ false
+ false
+ 0.000000000000000e0
+ false
+ 20
+ 20
+
+
+ 11
+ 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0
+ 1.236861462323127e-6 1.236861462323127e-6 5.238152872486955e-2
+ 2.473722924646254e-6 2.473722924646254e-6 1.047630574497391e-1
+ 3.710584386969380e-6 3.710584386969380e-6 1.571445861746087e-1
+ 4.947445849292508e-6 4.947445849292508e-6 2.095261148994782e-1
+ 6.184307311615632e-6 6.184307311615632e-6 2.619076436243478e-1
+ 7.421168773938760e-6 7.421168773938760e-6 3.142891723492173e-1
+ 8.658030236261885e-6 8.658030236261885e-6 3.666707010740869e-1
+ 9.894891698585015e-6 9.894891698585015e-6 4.190522297989564e-1
+ 1.113175316090814e-5 1.113175316090814e-5 4.714337585238260e-1
+ 1.236861462323126e-5 1.236861462323126e-5 5.238152872486955e-1
+
+
+ none
+ 1.000000000000000e2
+ false
+ false
+
+
+ none
+ 0.000000000000000e0
+ 2.860048230714124e5
+ 0.000000000000000e0
+ false
+ false
+ false
+
+
+ false
+ false
+ false
+ false
+ false
+ false
+
+
+
+ 0
+
+
+ 1.636594100000000e1
+ 1.641530394554138e1
+
+
+ 1.540762900000000e1
+ 1.544721603393555e1
+
+
+
+
diff --git a/vitalypro/cell_param/si3ge1_5.xml b/vitalypro/cell_param/si3ge1_5.xml
new file mode 100644
index 00000000..747d3d34
--- /dev/null
+++ b/vitalypro/cell_param/si3ge1_5.xml
@@ -0,0 +1,474 @@
+
+
+
+
+ QEXSD_19.03
+ XML file generated by PWSCF
+ This run was terminated on: 21:47:46 27 Oct 2021
+
+
+
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+
+
+
+
+ bands
+ from_scratch
+ Si_cubic
+ ../../pseudo
+ ./
+ false
+ false
+ true
+ low
+ 10000000
+ 1
+ 5.000000000000000e-5
+ 5.000000000000000e-4
+ 5.000000000000000e-1
+ high
+ 100000
+
+
+
+ Si.pbe-rrkj.UPF
+
+
+ 7.264000000000000e1
+ Ge.pbe-kjpaw.UPF
+
+
+
+
+ -1.960962194053968e-1 -1.960962194053968e-1 -4.053334431607897e-2
+ 2.520736576229802e0 2.520736576229802e0 2.439828140822916e0
+ 5.239037222307897e0 -1.949667433238539e-1 4.919130545958271e0
+ -1.949667433238539e-1 5.239037222307897e0 4.919130545958271e0
+ 5.239959701568296e0 5.239959701568296e0 -3.420311703942503e-2
+ 7.955657773352481e0 2.523552230373278e0 7.535492158902770e0
+ 2.523552230373278e0 7.955657773352481e0 7.535492158902770e0
+ 7.958997720673169e0 7.958997720673169e0 2.441202321320858e0
+
+
+ 1.087056828600000e1 -2.734100000000000e-4 -2.497130000000000e-4
+ -2.734100000000000e-4 1.087056828600000e1 -2.497130000000000e-4
+ -2.734100000000000e-4 -2.734100000000000e-4 1.018915583000000e1
+ |
+
+
+ pbe
+
+
+ false
+ false
+ false
+
+
+ gaussian
+ 0.000000000000000e0
+ smearing
+
+
+ false
+ 1.500000000000000e1
+ 6.000000000000000e1
+
+
+ davidson
+ plain
+ 7.000000000000000e-1
+ 5.000000000000000e-9
+ 8
+ 100
+ false
+ false
+ false
+ false
+ 0.000000000000000e0
+ false
+ 20
+ 20
+
+
+ 11
+ 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0
+ 1.225416930551352e-6 1.225416930551352e-6 5.334381222097370e-2
+ 2.450833861102704e-6 2.450833861102704e-6 1.066876244419474e-1
+ 3.676250791654057e-6 3.676250791654057e-6 1.600314366629211e-1
+ 4.901667722205408e-6 4.901667722205408e-6 2.133752488838948e-1
+ 6.127084652756758e-6 6.127084652756758e-6 2.667190611048685e-1
+ 7.352501583308113e-6 7.352501583308113e-6 3.200628733258423e-1
+ 8.577918513859464e-6 8.577918513859464e-6 3.734066855468160e-1
+ 9.803335444410816e-6 9.803335444410816e-6 4.267504977677897e-1
+ 1.102875237496217e-5 1.102875237496217e-5 4.800943099887634e-1
+ 1.225416930551352e-5 1.225416930551352e-5 5.334381222097370e-1
+
+
+ none
+ 1.000000000000000e2
+ false
+ false
+
+
+ none
+ 0.000000000000000e0
+ 2.860048230714124e5
+ 0.000000000000000e0
+ false
+ false
+ false
+
+
+ false
+ false
+ false
+ false
+ false
+ false
+
+
+
+ 0
+
+
+ 1.685513700000000e1
+ 1.691900086402893e1
+
+
+ 1.589918800000000e1
+ 1.594695615768433e1
+
+
+
+
diff --git a/vitalypro/code_implementation_example.ipynb b/vitalypro/code_implementation_example.ipynb
new file mode 100644
index 00000000..fa1e208f
--- /dev/null
+++ b/vitalypro/code_implementation_example.ipynb
@@ -0,0 +1,7053 @@
+{
+ "cells": [
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "metadata": {
+ "ExecuteTime": {
+ "end_time": "2021-10-29T20:09:03.115197Z",
+ "start_time": "2021-10-29T20:09:01.575710Z"
+ }
+ },
+ "outputs": [],
+ "source": [
+ "#load some modules \n",
+ "from ml_modeling_module import *\n",
+ "from os import walk\n",
+ "import plotly.graph_objects as go\n",
+ "from plotly.subplots import make_subplots"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# first let's plot some sige bandstructures calculated with DFT"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {
+ "ExecuteTime": {
+ "end_time": "2021-10-29T20:09:05.156811Z",
+ "start_time": "2021-10-29T20:09:03.685480Z"
+ },
+ "scrolled": false
+ },
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ " \n",
+ " "
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "data": {
+ "application/vnd.plotly.v1+json": {
+ "config": {
+ "plotlyServerURL": "https://plot.ly"
+ },
+ "data": [
+ {
+ "marker": {
+ "color": "black"
+ },
+ "mode": "lines",
+ "name": "markers",
+ "showlegend": false,
+ "type": "scatter",
+ "x": [
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11
+ ],
+ "xaxis": "x",
+ "y": [
+ -2.8999998569488525,
+ -2.8899998664855957,
+ -2.860999822616577,
+ -2.811999797821045,
+ -2.744999885559082,
+ -2.6589999198913574,
+ -2.553999900817871,
+ -2.5189998149871826,
+ -2.4079997539520264,
+ -2.311999797821045,
+ -2.2689998149871826
+ ],
+ "yaxis": "y"
+ },
+ {
+ "marker": {
+ "color": "black"
+ },
+ "mode": "lines",
+ "name": "markers",
+ "showlegend": false,
+ "type": "scatter",
+ "x": [
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11
+ ],
+ "xaxis": "x",
+ "y": [
+ -0.4329996109008789,
+ -0.5479998588562012,
+ -0.8379998207092285,
+ -1.2189998626708984,
+ -1.6419997215270996,
+ -2.0839996337890625,
+ -2.5349998474121094,
+ -2.430999755859375,
+ -2.2909998893737793,
+ -2.138000011444092,
+ -2.0190000534057617
+ ],
+ "yaxis": "y"
+ },
+ {
+ "marker": {
+ "color": "black"
+ },
+ "mode": "lines",
+ "name": "markers",
+ "showlegend": false,
+ "type": "scatter",
+ "x": [
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11
+ ],
+ "xaxis": "x",
+ "y": [
+ -0.0429997444152832,
+ -0.09200000762939453,
+ -0.2259998321533203,
+ -0.4159998893737793,
+ -0.6349997520446777,
+ -0.866999626159668,
+ -1.0999999046325684,
+ -1.3269996643066406,
+ -1.5439996719360352,
+ -1.7430000305175781,
+ -1.8779997825622559
+ ],
+ "yaxis": "y"
+ },
+ {
+ "marker": {
+ "color": "black"
+ },
+ "mode": "lines",
+ "name": "markers",
+ "showlegend": false,
+ "type": "scatter",
+ "x": [
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11
+ ],
+ "xaxis": "x",
+ "y": [
+ -0.013000011444091797,
+ -0.06199979782104492,
+ -0.19499969482421875,
+ -0.38299989700317383,
+ -0.5980000495910645,
+ -0.8229999542236328,
+ -1.0460000038146973,
+ -1.2569999694824219,
+ -1.4439997673034668,
+ -1.5869998931884766,
+ -1.6449999809265137
+ ],
+ "yaxis": "y"
+ },
+ {
+ "marker": {
+ "color": "black"
+ },
+ "mode": "lines",
+ "name": "markers",
+ "showlegend": false,
+ "type": "scatter",
+ "x": [
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11
+ ],
+ "xaxis": "x",
+ "y": [
+ 0.14300012588500977,
+ 0.20300006866455078,
+ 0.37400007247924805,
+ 0.5989999771118164,
+ 0.6040000915527344,
+ 0.6280002593994141,
+ 0.6680002212524414,
+ 0.7220001220703125,
+ 0.7820000648498535,
+ 0.8340001106262207,
+ 0.8570003509521484
+ ],
+ "yaxis": "y"
+ },
+ {
+ "marker": {
+ "color": "black"
+ },
+ "mode": "lines",
+ "name": "markers",
+ "showlegend": false,
+ "type": "scatter",
+ "x": [
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11
+ ],
+ "xaxis": "x",
+ "y": [
+ 0.14400005340576172,
+ 0.20399999618530273,
+ 0.375,
+ 0.6400003433227539,
+ 0.9809999465942383,
+ 1.3819999694824219,
+ 1.569000244140625,
+ 1.5789999961853027,
+ 1.5120000839233398,
+ 1.439000129699707,
+ 1.4079999923706055
+ ],
+ "yaxis": "y"
+ },
+ {
+ "marker": {
+ "color": "black"
+ },
+ "mode": "lines",
+ "name": "markers",
+ "showlegend": false,
+ "type": "scatter",
+ "x": [
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11
+ ],
+ "xaxis": "x",
+ "y": [
+ 0.6579999923706055,
+ 0.6380000114440918,
+ 0.6110000610351562,
+ 0.6410002708435059,
+ 0.9820003509521484,
+ 1.383000373840332,
+ 1.830000400543213,
+ 2.2480006217956543,
+ 2.4390006065368652,
+ 2.6790003776550293,
+ 2.8680005073547363
+ ],
+ "yaxis": "y"
+ },
+ {
+ "marker": {
+ "color": "black"
+ },
+ "mode": "lines",
+ "name": "markers",
+ "showlegend": false,
+ "type": "scatter",
+ "x": [
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11
+ ],
+ "xaxis": "x",
+ "y": [
+ 0.8220000267028809,
+ 0.8700003623962402,
+ 1.010000228881836,
+ 1.1620001792907715,
+ 1.308000087738037,
+ 1.4580001831054688,
+ 1.8309998512268066,
+ 2.316000461578369,
+ 2.8340001106262207,
+ 3.2170004844665527,
+ 3.0450005531311035
+ ],
+ "yaxis": "y"
+ },
+ {
+ "marker": {
+ "color": "black"
+ },
+ "mode": "lines",
+ "name": "markers",
+ "showlegend": false,
+ "type": "scatter",
+ "x": [
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11
+ ],
+ "xaxis": "x2",
+ "y": [
+ -2.809000015258789,
+ -2.8459999561309814,
+ -2.9469997882843018,
+ -3.0889999866485596,
+ -3.0239999294281006,
+ -2.934000015258789,
+ -2.8259999752044678,
+ -2.7779998779296875,
+ -2.6610000133514404,
+ -2.557999849319458,
+ -2.5119998455047607
+ ],
+ "yaxis": "y2"
+ },
+ {
+ "marker": {
+ "color": "black"
+ },
+ "mode": "lines",
+ "name": "markers",
+ "showlegend": false,
+ "type": "scatter",
+ "x": [
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11
+ ],
+ "xaxis": "x2",
+ "y": [
+ -0.3249998092651367,
+ -0.36999988555908203,
+ -0.6719999313354492,
+ -1.0869998931884766,
+ -1.5180001258850098,
+ -1.9529998302459717,
+ -2.384999990463257,
+ -2.6989998817443848,
+ -2.553999900817871,
+ -2.3969998359680176,
+ -2.2769999504089355
+ ],
+ "yaxis": "y2"
+ },
+ {
+ "marker": {
+ "color": "black"
+ },
+ "mode": "lines",
+ "name": "markers",
+ "showlegend": false,
+ "type": "scatter",
+ "x": [
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11
+ ],
+ "xaxis": "x2",
+ "y": [
+ -0.29199981689453125,
+ -0.3359999656677246,
+ -0.4930000305175781,
+ -0.6719999313354492,
+ -0.8829998970031738,
+ -1.1100001335144043,
+ -1.3420000076293945,
+ -1.5699996948242188,
+ -1.7879998683929443,
+ -1.9909999370574951,
+ -2.126999855041504
+ ],
+ "yaxis": "y2"
+ },
+ {
+ "marker": {
+ "color": "black"
+ },
+ "mode": "lines",
+ "name": "markers",
+ "showlegend": false,
+ "type": "scatter",
+ "x": [
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11
+ ],
+ "xaxis": "x2",
+ "y": [
+ -0.15000009536743164,
+ -0.315000057220459,
+ -0.4590001106262207,
+ -0.6359996795654297,
+ -0.8439998626708984,
+ -1.065999984741211,
+ -1.2880001068115234,
+ -1.5,
+ -1.691999912261963,
+ -1.8399999141693115,
+ -1.9019999504089355
+ ],
+ "yaxis": "y2"
+ },
+ {
+ "marker": {
+ "color": "black"
+ },
+ "mode": "lines",
+ "name": "markers",
+ "showlegend": false,
+ "type": "scatter",
+ "x": [
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11
+ ],
+ "xaxis": "x2",
+ "y": [
+ 0.2670001983642578,
+ 0.22700023651123047,
+ 0.17500019073486328,
+ 0.14400005340576172,
+ 0.1360001564025879,
+ 0.1510000228881836,
+ 0.18800020217895508,
+ 0.24300003051757812,
+ 0.30900001525878906,
+ 0.3710002899169922,
+ 0.3990001678466797
+ ],
+ "yaxis": "y2"
+ },
+ {
+ "marker": {
+ "color": "black"
+ },
+ "mode": "lines",
+ "name": "markers",
+ "showlegend": false,
+ "type": "scatter",
+ "x": [
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11
+ ],
+ "xaxis": "x2",
+ "y": [
+ 0.3959999084472656,
+ 0.46199989318847656,
+ 0.6500000953674316,
+ 0.8340001106262207,
+ 1.0120000839233398,
+ 1.1800003051757812,
+ 1.25,
+ 1.1760001182556152,
+ 1.0560002326965332,
+ 0.9530000686645508,
+ 0.9100003242492676
+ ],
+ "yaxis": "y2"
+ },
+ {
+ "marker": {
+ "color": "black"
+ },
+ "mode": "lines",
+ "name": "markers",
+ "showlegend": false,
+ "type": "scatter",
+ "x": [
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11
+ ],
+ "xaxis": "x2",
+ "y": [
+ 0.3970003128051758,
+ 0.4630002975463867,
+ 0.6519999504089355,
+ 0.940000057220459,
+ 1.308000087738037,
+ 1.7360000610351562,
+ 1.8020000457763672,
+ 1.9770002365112305,
+ 2.2280001640319824,
+ 2.492000102996826,
+ 2.672999858856201
+ ],
+ "yaxis": "y2"
+ },
+ {
+ "marker": {
+ "color": "black"
+ },
+ "mode": "lines",
+ "name": "markers",
+ "showlegend": false,
+ "type": "scatter",
+ "x": [
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11
+ ],
+ "xaxis": "x2",
+ "y": [
+ 0.5180001258850098,
+ 0.560999870300293,
+ 0.6770000457763672,
+ 0.9419999122619629,
+ 1.309999942779541,
+ 1.7379999160766602,
+ 2.2100000381469727,
+ 2.7219996452331543,
+ 3.073000431060791,
+ 2.9830002784729004,
+ 2.858999729156494
+ ],
+ "yaxis": "y2"
+ },
+ {
+ "line": {
+ "color": "RoyalBlue",
+ "dash": "dot",
+ "width": 3
+ },
+ "mode": "lines",
+ "name": "markers",
+ "showlegend": false,
+ "type": "scatter",
+ "x": [
+ 1,
+ 11
+ ],
+ "xaxis": "x",
+ "y": [
+ 0,
+ 0
+ ],
+ "yaxis": "y"
+ },
+ {
+ "line": {
+ "color": "RoyalBlue",
+ "dash": "dot",
+ "width": 3
+ },
+ "mode": "lines",
+ "name": "markers",
+ "showlegend": false,
+ "type": "scatter",
+ "x": [
+ 1,
+ 11
+ ],
+ "xaxis": "x2",
+ "y": [
+ 0,
+ 0
+ ],
+ "yaxis": "y2"
+ }
+ ],
+ "layout": {
+ "annotations": [
+ {
+ "font": {
+ "size": 16
+ },
+ "showarrow": false,
+ "text": "Si2Ge strain 0%",
+ "x": 0.225,
+ "xanchor": "center",
+ "xref": "paper",
+ "y": 1,
+ "yanchor": "bottom",
+ "yref": "paper"
+ },
+ {
+ "font": {
+ "size": 16
+ },
+ "showarrow": false,
+ "text": "Si2Ge2 strain 5%",
+ "x": 0.775,
+ "xanchor": "center",
+ "xref": "paper",
+ "y": 1,
+ "yanchor": "bottom",
+ "yref": "paper"
+ }
+ ],
+ "height": 650,
+ "plot_bgcolor": "white",
+ "template": {
+ "data": {
+ "bar": [
+ {
+ "error_x": {
+ "color": "#2a3f5f"
+ },
+ "error_y": {
+ "color": "#2a3f5f"
+ },
+ "marker": {
+ "line": {
+ "color": "#E5ECF6",
+ "width": 0.5
+ }
+ },
+ "type": "bar"
+ }
+ ],
+ "barpolar": [
+ {
+ "marker": {
+ "line": {
+ "color": "#E5ECF6",
+ "width": 0.5
+ }
+ },
+ "type": "barpolar"
+ }
+ ],
+ "carpet": [
+ {
+ "aaxis": {
+ "endlinecolor": "#2a3f5f",
+ "gridcolor": "white",
+ "linecolor": "white",
+ "minorgridcolor": "white",
+ "startlinecolor": "#2a3f5f"
+ },
+ "baxis": {
+ "endlinecolor": "#2a3f5f",
+ "gridcolor": "white",
+ "linecolor": "white",
+ "minorgridcolor": "white",
+ "startlinecolor": "#2a3f5f"
+ },
+ "type": "carpet"
+ }
+ ],
+ "choropleth": [
+ {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ },
+ "type": "choropleth"
+ }
+ ],
+ "contour": [
+ {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ },
+ "colorscale": [
+ [
+ 0,
+ "#0d0887"
+ ],
+ [
+ 0.1111111111111111,
+ "#46039f"
+ ],
+ [
+ 0.2222222222222222,
+ "#7201a8"
+ ],
+ [
+ 0.3333333333333333,
+ "#9c179e"
+ ],
+ [
+ 0.4444444444444444,
+ "#bd3786"
+ ],
+ [
+ 0.5555555555555556,
+ "#d8576b"
+ ],
+ [
+ 0.6666666666666666,
+ "#ed7953"
+ ],
+ [
+ 0.7777777777777778,
+ "#fb9f3a"
+ ],
+ [
+ 0.8888888888888888,
+ "#fdca26"
+ ],
+ [
+ 1,
+ "#f0f921"
+ ]
+ ],
+ "type": "contour"
+ }
+ ],
+ "contourcarpet": [
+ {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ },
+ "type": "contourcarpet"
+ }
+ ],
+ "heatmap": [
+ {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ },
+ "colorscale": [
+ [
+ 0,
+ "#0d0887"
+ ],
+ [
+ 0.1111111111111111,
+ "#46039f"
+ ],
+ [
+ 0.2222222222222222,
+ "#7201a8"
+ ],
+ [
+ 0.3333333333333333,
+ "#9c179e"
+ ],
+ [
+ 0.4444444444444444,
+ "#bd3786"
+ ],
+ [
+ 0.5555555555555556,
+ "#d8576b"
+ ],
+ [
+ 0.6666666666666666,
+ "#ed7953"
+ ],
+ [
+ 0.7777777777777778,
+ "#fb9f3a"
+ ],
+ [
+ 0.8888888888888888,
+ "#fdca26"
+ ],
+ [
+ 1,
+ "#f0f921"
+ ]
+ ],
+ "type": "heatmap"
+ }
+ ],
+ "heatmapgl": [
+ {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ },
+ "colorscale": [
+ [
+ 0,
+ "#0d0887"
+ ],
+ [
+ 0.1111111111111111,
+ "#46039f"
+ ],
+ [
+ 0.2222222222222222,
+ "#7201a8"
+ ],
+ [
+ 0.3333333333333333,
+ "#9c179e"
+ ],
+ [
+ 0.4444444444444444,
+ "#bd3786"
+ ],
+ [
+ 0.5555555555555556,
+ "#d8576b"
+ ],
+ [
+ 0.6666666666666666,
+ "#ed7953"
+ ],
+ [
+ 0.7777777777777778,
+ "#fb9f3a"
+ ],
+ [
+ 0.8888888888888888,
+ "#fdca26"
+ ],
+ [
+ 1,
+ "#f0f921"
+ ]
+ ],
+ "type": "heatmapgl"
+ }
+ ],
+ "histogram": [
+ {
+ "marker": {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ }
+ },
+ "type": "histogram"
+ }
+ ],
+ "histogram2d": [
+ {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ },
+ "colorscale": [
+ [
+ 0,
+ "#0d0887"
+ ],
+ [
+ 0.1111111111111111,
+ "#46039f"
+ ],
+ [
+ 0.2222222222222222,
+ "#7201a8"
+ ],
+ [
+ 0.3333333333333333,
+ "#9c179e"
+ ],
+ [
+ 0.4444444444444444,
+ "#bd3786"
+ ],
+ [
+ 0.5555555555555556,
+ "#d8576b"
+ ],
+ [
+ 0.6666666666666666,
+ "#ed7953"
+ ],
+ [
+ 0.7777777777777778,
+ "#fb9f3a"
+ ],
+ [
+ 0.8888888888888888,
+ "#fdca26"
+ ],
+ [
+ 1,
+ "#f0f921"
+ ]
+ ],
+ "type": "histogram2d"
+ }
+ ],
+ "histogram2dcontour": [
+ {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ },
+ "colorscale": [
+ [
+ 0,
+ "#0d0887"
+ ],
+ [
+ 0.1111111111111111,
+ "#46039f"
+ ],
+ [
+ 0.2222222222222222,
+ "#7201a8"
+ ],
+ [
+ 0.3333333333333333,
+ "#9c179e"
+ ],
+ [
+ 0.4444444444444444,
+ "#bd3786"
+ ],
+ [
+ 0.5555555555555556,
+ "#d8576b"
+ ],
+ [
+ 0.6666666666666666,
+ "#ed7953"
+ ],
+ [
+ 0.7777777777777778,
+ "#fb9f3a"
+ ],
+ [
+ 0.8888888888888888,
+ "#fdca26"
+ ],
+ [
+ 1,
+ "#f0f921"
+ ]
+ ],
+ "type": "histogram2dcontour"
+ }
+ ],
+ "mesh3d": [
+ {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ },
+ "type": "mesh3d"
+ }
+ ],
+ "parcoords": [
+ {
+ "line": {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ }
+ },
+ "type": "parcoords"
+ }
+ ],
+ "pie": [
+ {
+ "automargin": true,
+ "type": "pie"
+ }
+ ],
+ "scatter": [
+ {
+ "marker": {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ }
+ },
+ "type": "scatter"
+ }
+ ],
+ "scatter3d": [
+ {
+ "line": {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ }
+ },
+ "marker": {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ }
+ },
+ "type": "scatter3d"
+ }
+ ],
+ "scattercarpet": [
+ {
+ "marker": {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ }
+ },
+ "type": "scattercarpet"
+ }
+ ],
+ "scattergeo": [
+ {
+ "marker": {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ }
+ },
+ "type": "scattergeo"
+ }
+ ],
+ "scattergl": [
+ {
+ "marker": {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ }
+ },
+ "type": "scattergl"
+ }
+ ],
+ "scattermapbox": [
+ {
+ "marker": {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ }
+ },
+ "type": "scattermapbox"
+ }
+ ],
+ "scatterpolar": [
+ {
+ "marker": {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ }
+ },
+ "type": "scatterpolar"
+ }
+ ],
+ "scatterpolargl": [
+ {
+ "marker": {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ }
+ },
+ "type": "scatterpolargl"
+ }
+ ],
+ "scatterternary": [
+ {
+ "marker": {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ }
+ },
+ "type": "scatterternary"
+ }
+ ],
+ "surface": [
+ {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ },
+ "colorscale": [
+ [
+ 0,
+ "#0d0887"
+ ],
+ [
+ 0.1111111111111111,
+ "#46039f"
+ ],
+ [
+ 0.2222222222222222,
+ "#7201a8"
+ ],
+ [
+ 0.3333333333333333,
+ "#9c179e"
+ ],
+ [
+ 0.4444444444444444,
+ "#bd3786"
+ ],
+ [
+ 0.5555555555555556,
+ "#d8576b"
+ ],
+ [
+ 0.6666666666666666,
+ "#ed7953"
+ ],
+ [
+ 0.7777777777777778,
+ "#fb9f3a"
+ ],
+ [
+ 0.8888888888888888,
+ "#fdca26"
+ ],
+ [
+ 1,
+ "#f0f921"
+ ]
+ ],
+ "type": "surface"
+ }
+ ],
+ "table": [
+ {
+ "cells": {
+ "fill": {
+ "color": "#EBF0F8"
+ },
+ "line": {
+ "color": "white"
+ }
+ },
+ "header": {
+ "fill": {
+ "color": "#C8D4E3"
+ },
+ "line": {
+ "color": "white"
+ }
+ },
+ "type": "table"
+ }
+ ]
+ },
+ "layout": {
+ "annotationdefaults": {
+ "arrowcolor": "#2a3f5f",
+ "arrowhead": 0,
+ "arrowwidth": 1
+ },
+ "coloraxis": {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ }
+ },
+ "colorscale": {
+ "diverging": [
+ [
+ 0,
+ "#8e0152"
+ ],
+ [
+ 0.1,
+ "#c51b7d"
+ ],
+ [
+ 0.2,
+ "#de77ae"
+ ],
+ [
+ 0.3,
+ "#f1b6da"
+ ],
+ [
+ 0.4,
+ "#fde0ef"
+ ],
+ [
+ 0.5,
+ "#f7f7f7"
+ ],
+ [
+ 0.6,
+ "#e6f5d0"
+ ],
+ [
+ 0.7,
+ "#b8e186"
+ ],
+ [
+ 0.8,
+ "#7fbc41"
+ ],
+ [
+ 0.9,
+ "#4d9221"
+ ],
+ [
+ 1,
+ "#276419"
+ ]
+ ],
+ "sequential": [
+ [
+ 0,
+ "#0d0887"
+ ],
+ [
+ 0.1111111111111111,
+ "#46039f"
+ ],
+ [
+ 0.2222222222222222,
+ "#7201a8"
+ ],
+ [
+ 0.3333333333333333,
+ "#9c179e"
+ ],
+ [
+ 0.4444444444444444,
+ "#bd3786"
+ ],
+ [
+ 0.5555555555555556,
+ "#d8576b"
+ ],
+ [
+ 0.6666666666666666,
+ "#ed7953"
+ ],
+ [
+ 0.7777777777777778,
+ "#fb9f3a"
+ ],
+ [
+ 0.8888888888888888,
+ "#fdca26"
+ ],
+ [
+ 1,
+ "#f0f921"
+ ]
+ ],
+ "sequentialminus": [
+ [
+ 0,
+ "#0d0887"
+ ],
+ [
+ 0.1111111111111111,
+ "#46039f"
+ ],
+ [
+ 0.2222222222222222,
+ "#7201a8"
+ ],
+ [
+ 0.3333333333333333,
+ "#9c179e"
+ ],
+ [
+ 0.4444444444444444,
+ "#bd3786"
+ ],
+ [
+ 0.5555555555555556,
+ "#d8576b"
+ ],
+ [
+ 0.6666666666666666,
+ "#ed7953"
+ ],
+ [
+ 0.7777777777777778,
+ "#fb9f3a"
+ ],
+ [
+ 0.8888888888888888,
+ "#fdca26"
+ ],
+ [
+ 1,
+ "#f0f921"
+ ]
+ ]
+ },
+ "colorway": [
+ "#636efa",
+ "#EF553B",
+ "#00cc96",
+ "#ab63fa",
+ "#FFA15A",
+ "#19d3f3",
+ "#FF6692",
+ "#B6E880",
+ "#FF97FF",
+ "#FECB52"
+ ],
+ "font": {
+ "color": "#2a3f5f"
+ },
+ "geo": {
+ "bgcolor": "white",
+ "lakecolor": "white",
+ "landcolor": "#E5ECF6",
+ "showlakes": true,
+ "showland": true,
+ "subunitcolor": "white"
+ },
+ "hoverlabel": {
+ "align": "left"
+ },
+ "hovermode": "closest",
+ "mapbox": {
+ "style": "light"
+ },
+ "paper_bgcolor": "white",
+ "plot_bgcolor": "#E5ECF6",
+ "polar": {
+ "angularaxis": {
+ "gridcolor": "white",
+ "linecolor": "white",
+ "ticks": ""
+ },
+ "bgcolor": "#E5ECF6",
+ "radialaxis": {
+ "gridcolor": "white",
+ "linecolor": "white",
+ "ticks": ""
+ }
+ },
+ "scene": {
+ "xaxis": {
+ "backgroundcolor": "#E5ECF6",
+ "gridcolor": "white",
+ "gridwidth": 2,
+ "linecolor": "white",
+ "showbackground": true,
+ "ticks": "",
+ "zerolinecolor": "white"
+ },
+ "yaxis": {
+ "backgroundcolor": "#E5ECF6",
+ "gridcolor": "white",
+ "gridwidth": 2,
+ "linecolor": "white",
+ "showbackground": true,
+ "ticks": "",
+ "zerolinecolor": "white"
+ },
+ "zaxis": {
+ "backgroundcolor": "#E5ECF6",
+ "gridcolor": "white",
+ "gridwidth": 2,
+ "linecolor": "white",
+ "showbackground": true,
+ "ticks": "",
+ "zerolinecolor": "white"
+ }
+ },
+ "shapedefaults": {
+ "line": {
+ "color": "#2a3f5f"
+ }
+ },
+ "ternary": {
+ "aaxis": {
+ "gridcolor": "white",
+ "linecolor": "white",
+ "ticks": ""
+ },
+ "baxis": {
+ "gridcolor": "white",
+ "linecolor": "white",
+ "ticks": ""
+ },
+ "bgcolor": "#E5ECF6",
+ "caxis": {
+ "gridcolor": "white",
+ "linecolor": "white",
+ "ticks": ""
+ }
+ },
+ "title": {
+ "x": 0.05
+ },
+ "xaxis": {
+ "automargin": true,
+ "gridcolor": "white",
+ "linecolor": "white",
+ "ticks": "",
+ "title": {
+ "standoff": 15
+ },
+ "zerolinecolor": "white",
+ "zerolinewidth": 2
+ },
+ "yaxis": {
+ "automargin": true,
+ "gridcolor": "white",
+ "linecolor": "white",
+ "ticks": "",
+ "title": {
+ "standoff": 15
+ },
+ "zerolinecolor": "white",
+ "zerolinewidth": 2
+ }
+ }
+ },
+ "width": 900,
+ "xaxis": {
+ "anchor": "y",
+ "domain": [
+ 0,
+ 0.45
+ ],
+ "gridcolor": "lightgrey",
+ "gridwidth": 0.5,
+ "linecolor": "black",
+ "linewidth": 1,
+ "mirror": true,
+ "range": [
+ 1,
+ 11
+ ],
+ "showgrid": true,
+ "ticks": "inside",
+ "ticktext": [
+ "G",
+ "Z"
+ ],
+ "tickvals": [
+ 1,
+ 11
+ ]
+ },
+ "xaxis2": {
+ "anchor": "y2",
+ "domain": [
+ 0.55,
+ 1
+ ],
+ "gridcolor": "lightgrey",
+ "gridwidth": 0.5,
+ "linecolor": "black",
+ "linewidth": 1,
+ "mirror": true,
+ "range": [
+ 1,
+ 11
+ ],
+ "showgrid": true,
+ "ticks": "inside",
+ "ticktext": [
+ "G",
+ "Z"
+ ],
+ "tickvals": [
+ 1,
+ 11
+ ]
+ },
+ "yaxis": {
+ "anchor": "x",
+ "domain": [
+ 0,
+ 1
+ ],
+ "gridcolor": "lightgrey",
+ "gridwidth": 0.5,
+ "linecolor": "black",
+ "linewidth": 1,
+ "mirror": true,
+ "showgrid": true,
+ "ticks": "inside",
+ "title": {
+ "text": "Energy, eV"
+ }
+ },
+ "yaxis2": {
+ "anchor": "x2",
+ "domain": [
+ 0,
+ 1
+ ],
+ "gridcolor": "lightgrey",
+ "gridwidth": 0.5,
+ "linecolor": "black",
+ "linewidth": 1,
+ "mirror": true,
+ "showgrid": true,
+ "ticks": "inside",
+ "title": {
+ "text": "Energy, eV"
+ }
+ }
+ }
+ },
+ "text/html": [
+ "\n",
+ " \n",
+ " \n",
+ "
\n",
+ " \n",
+ "
"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "### EXAMPLE OF READING DATA WITH MODE=\"FERMI\" ###\n",
+ "\n",
+ "\"\"\"\n",
+ "read QE output file with bands for 0% and 5% strain \n",
+ "reshape data: 8 bands 11 k-points\n",
+ "fermi level is manually specified \n",
+ "\"\"\"\n",
+ "data=read_data('bands/si2ge2_0.dat')\n",
+ "si2ge2_0=data.read_bands_ml(mode='Fermi',fermi=6.18, bands_num=4)\n",
+ "si2ge2_0=si2ge2_0.reshape(8,11)\n",
+ "\n",
+ "data=read_data('bands/si2ge2_5.dat')\n",
+ "si2ge2_5=data.read_bands_ml(mode='Fermi',fermi=5.60, bands_num=4)\n",
+ "si2ge2_5=si2ge2_5.reshape(8,11)\n",
+ "\n",
+ "fig = make_subplots(rows=1, cols=2,subplot_titles=(\"Si2Ge strain 0%\", \"Si2Ge2 strain 5%\"))\n",
+ "\n",
+ "for i in range(si2ge2_0.shape[0]):\n",
+ " fig.add_trace(go.Scatter(x=np.arange(1,12,1), y=si2ge2_0[i],\n",
+ " mode='lines', marker=dict(color='black'), showlegend=False, \n",
+ " name='markers'), col=1, row=1) \n",
+ "for i in range(si2ge2_5.shape[0]):\n",
+ " fig.add_trace(go.Scatter(x=np.arange(1,12,1), y=si2ge2_5[i],\n",
+ " mode='lines', marker=dict(color='black'), showlegend=False, \n",
+ " name='markers'), col=2, row=1) \n",
+ "\n",
+ " \n",
+ "fig.add_trace(go.Scatter(x=[1,11], y=[0,0],\n",
+ " mode='lines', line=dict(color= \"RoyalBlue\",width=3, dash='dot'), showlegend=False, \n",
+ " name='markers'), col=1, row=1) \n",
+ "fig.add_trace(go.Scatter(x=[1,11], y=[0,0],\n",
+ " mode='lines', line=dict(color= \"RoyalBlue\",width=3, dash='dot'), showlegend=False, \n",
+ " name='markers'), col=2, row=1) \n",
+ "fig.update_xaxes(showgrid=True, \n",
+ " gridwidth=0.5, \n",
+ " gridcolor='lightgrey', \n",
+ " ticks='inside' , \n",
+ " linecolor= 'black', \n",
+ " linewidth= 1,\n",
+ " mirror= True,\n",
+ " ticktext=['G', 'Z'],\n",
+ " tickvals=[1,11],\n",
+ " range=[1,11],\n",
+ " )\n",
+ "fig.update_yaxes(title='Energy, eV', \n",
+ " showgrid=True, \n",
+ " gridwidth=0.5, \n",
+ " gridcolor='lightgrey', \n",
+ " ticks='inside' , \n",
+ " linecolor= 'black',\n",
+ " linewidth= 1,\n",
+ " mirror= True,\n",
+ " )\n",
+ "\n",
+ "fig.update_layout(width=900, height=650, plot_bgcolor='white')\n",
+ "fig.show()\n",
+ "\n",
+ "\"\"\"\n",
+ "I used only 11 k-points to produce these bandstructures,\n",
+ "therefore, the bandstructures look a bit ugly\n",
+ "We can see how conduction bands shift with applied strain\n",
+ "\"\"\""
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "metadata": {
+ "ExecuteTime": {
+ "end_time": "2021-10-29T20:09:08.040635Z",
+ "start_time": "2021-10-29T20:09:07.941613Z"
+ },
+ "scrolled": false
+ },
+ "outputs": [
+ {
+ "data": {
+ "application/vnd.plotly.v1+json": {
+ "config": {
+ "plotlyServerURL": "https://plot.ly"
+ },
+ "data": [
+ {
+ "marker": {
+ "color": "black"
+ },
+ "mode": "lines",
+ "name": "markers",
+ "showlegend": false,
+ "type": "scatter",
+ "x": [
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11
+ ],
+ "xaxis": "x",
+ "y": [
+ 0.24899959564208984,
+ 0.3119997978210449,
+ 0.490999698638916,
+ 0.6419997215270996,
+ 0.6469998359680176,
+ 0.6749997138977051,
+ 0.7229995727539062,
+ 0.7899999618530273,
+ 0.869999885559082,
+ 0.9489998817443848,
+ 0.9889998435974121
+ ],
+ "yaxis": "y"
+ },
+ {
+ "marker": {
+ "color": "black"
+ },
+ "mode": "lines",
+ "name": "markers",
+ "showlegend": false,
+ "type": "scatter",
+ "x": [
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11
+ ],
+ "xaxis": "x",
+ "y": [
+ 0.7239999771118164,
+ 0.6959996223449707,
+ 0.6599998474121094,
+ 0.7669997215270996,
+ 1.11899995803833,
+ 1.5209999084472656,
+ 1.6359996795654297,
+ 1.6059999465942383,
+ 1.495999813079834,
+ 1.3859996795654297,
+ 1.3339996337890625
+ ],
+ "yaxis": "y"
+ },
+ {
+ "marker": {
+ "color": "black"
+ },
+ "mode": "lines",
+ "name": "markers",
+ "showlegend": false,
+ "type": "scatter",
+ "x": [
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11
+ ],
+ "xaxis": "x",
+ "y": [
+ 0.7259998321533203,
+ 0.7809996604919434,
+ 0.9429998397827148,
+ 1.1889996528625488,
+ 1.3519997596740723,
+ 1.5299997329711914,
+ 1.987999439239502,
+ 2.247000217437744,
+ 2.490999698638916,
+ 2.7820000648498535,
+ 3.0510001182556152
+ ],
+ "yaxis": "y"
+ },
+ {
+ "marker": {
+ "color": "black"
+ },
+ "mode": "lines",
+ "name": "markers",
+ "showlegend": false,
+ "type": "scatter",
+ "x": [
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11
+ ],
+ "xaxis": "x",
+ "y": [
+ 0.7269997596740723,
+ 0.7829999923706055,
+ 0.9439997673034668,
+ 1.1949996948242188,
+ 1.5229997634887695,
+ 1.9099998474121094,
+ 2.119999408721924,
+ 2.482999324798584,
+ 3.007999897003174,
+ 3.4129996299743652,
+ 3.1459994316101074
+ ],
+ "yaxis": "y"
+ },
+ {
+ "marker": {
+ "color": "black"
+ },
+ "mode": "lines",
+ "name": "markers",
+ "showlegend": false,
+ "type": "scatter",
+ "x": [
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11
+ ],
+ "xaxis": "x",
+ "y": [
+ -2.8380002975463867,
+ -2.829000234603882,
+ -2.8000001907348633,
+ -2.752000093460083,
+ -2.686000108718872,
+ -2.6010003089904785,
+ -2.499000310897827,
+ -2.381000280380249,
+ -2.249000310897827,
+ -2.117000102996826,
+ -2.0410003662109375
+ ],
+ "yaxis": "y"
+ },
+ {
+ "marker": {
+ "color": "black"
+ },
+ "mode": "lines",
+ "name": "markers",
+ "showlegend": false,
+ "type": "scatter",
+ "x": [
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11
+ ],
+ "xaxis": "x",
+ "y": [
+ -0.20100021362304688,
+ -0.2910003662109375,
+ -0.5320000648498535,
+ -0.8680000305175781,
+ -1.258000373840332,
+ -1.6770000457763672,
+ -2.1100001335144043,
+ -2.381000280380249,
+ -2.249000310897827,
+ -2.116000175476074,
+ -2.0400004386901855
+ ],
+ "yaxis": "y"
+ },
+ {
+ "marker": {
+ "color": "black"
+ },
+ "mode": "lines",
+ "name": "markers",
+ "showlegend": false,
+ "type": "scatter",
+ "x": [
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11
+ ],
+ "xaxis": "x",
+ "y": [
+ 0,
+ -0.04700040817260742,
+ -0.17600011825561523,
+ -0.3600001335144043,
+ -0.574000358581543,
+ -0.8000001907348633,
+ -1.0270004272460938,
+ -1.248000144958496,
+ -1.4539999961853027,
+ -1.633000373840332,
+ -1.7250003814697266
+ ],
+ "yaxis": "y"
+ },
+ {
+ "marker": {
+ "color": "black"
+ },
+ "mode": "lines",
+ "name": "markers",
+ "showlegend": false,
+ "type": "scatter",
+ "x": [
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11
+ ],
+ "xaxis": "x",
+ "y": [
+ 0,
+ -0.04700040817260742,
+ -0.17600011825561523,
+ -0.3600001335144043,
+ -0.573000431060791,
+ -0.7990002632141113,
+ -1.0270004272460938,
+ -1.2470002174377441,
+ -1.4530000686645508,
+ -1.6319999694824219,
+ -1.7230000495910645
+ ],
+ "yaxis": "y"
+ },
+ {
+ "marker": {
+ "color": "black"
+ },
+ "mode": "lines",
+ "name": "markers",
+ "showlegend": false,
+ "type": "scatter",
+ "x": [
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11
+ ],
+ "xaxis": "x2",
+ "y": [
+ 0.2779998779296875,
+ 0.22499990463256836,
+ 0.15700006484985352,
+ 0.11800003051757812,
+ 0.10799980163574219,
+ 0.12599992752075195,
+ 0.16900014877319336,
+ 0.2350001335144043,
+ 0.31999969482421875,
+ 0.40799999237060547,
+ 0.4549999237060547
+ ],
+ "yaxis": "y2"
+ },
+ {
+ "marker": {
+ "color": "black"
+ },
+ "mode": "lines",
+ "name": "markers",
+ "showlegend": false,
+ "type": "scatter",
+ "x": [
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11
+ ],
+ "xaxis": "x2",
+ "y": [
+ 0.44299983978271484,
+ 0.5110001564025879,
+ 0.6459999084472656,
+ 0.8239998817443848,
+ 1.0260000228881836,
+ 1.2179999351501465,
+ 1.2649998664855957,
+ 1.1440000534057617,
+ 0.9899997711181641,
+ 0.8540000915527344,
+ 0.7899999618530273
+ ],
+ "yaxis": "y2"
+ },
+ {
+ "marker": {
+ "color": "black"
+ },
+ "mode": "lines",
+ "name": "markers",
+ "showlegend": false,
+ "type": "scatter",
+ "x": [
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11
+ ],
+ "xaxis": "x2",
+ "y": [
+ 0.45200014114379883,
+ 0.5130000114440918,
+ 0.7129998207092285,
+ 1.0169997215270996,
+ 1.3990001678466797,
+ 1.7059998512268066,
+ 1.750999927520752,
+ 1.9920001029968262,
+ 2.2950000762939453,
+ 2.61199951171875,
+ 2.866000175476074
+ ],
+ "yaxis": "y2"
+ },
+ {
+ "marker": {
+ "color": "black"
+ },
+ "mode": "lines",
+ "name": "markers",
+ "showlegend": false,
+ "type": "scatter",
+ "x": [
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11
+ ],
+ "xaxis": "x2",
+ "y": [
+ 0.9159998893737793,
+ 0.9769997596740723,
+ 1.1560001373291016,
+ 1.434000015258789,
+ 1.7890000343322754,
+ 1.8410000801086426,
+ 2.3289999961853027,
+ 2.8520002365112305,
+ 3.371000289916992,
+ 3.201000213623047,
+ 2.991999626159668
+ ],
+ "yaxis": "y2"
+ },
+ {
+ "marker": {
+ "color": "black"
+ },
+ "mode": "lines",
+ "name": "markers",
+ "showlegend": false,
+ "type": "scatter",
+ "x": [
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11
+ ],
+ "xaxis": "x2",
+ "y": [
+ -2.6579999923706055,
+ -2.699000120162964,
+ -2.81000018119812,
+ -2.9650001525878906,
+ -3.0380001068115234,
+ -2.949000120162964,
+ -2.8420000076293945,
+ -2.7180001735687256,
+ -2.580000162124634,
+ -2.440000057220459,
+ -2.3589999675750732
+ ],
+ "yaxis": "y2"
+ },
+ {
+ "marker": {
+ "color": "black"
+ },
+ "mode": "lines",
+ "name": "markers",
+ "showlegend": false,
+ "type": "scatter",
+ "x": [
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11
+ ],
+ "xaxis": "x2",
+ "y": [
+ -0.3299999237060547,
+ -0.3730001449584961,
+ -0.4930000305175781,
+ -0.7760000228881836,
+ -1.184999942779541,
+ -1.6060001850128174,
+ -2.0299999713897705,
+ -2.453000068664551,
+ -2.580000162124634,
+ -2.440000057220459,
+ -2.3580000400543213
+ ],
+ "yaxis": "y2"
+ },
+ {
+ "marker": {
+ "color": "black"
+ },
+ "mode": "lines",
+ "name": "markers",
+ "showlegend": false,
+ "type": "scatter",
+ "x": [
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11
+ ],
+ "xaxis": "x2",
+ "y": [
+ -0.3299999237060547,
+ -0.3730001449584961,
+ -0.4930000305175781,
+ -0.6680002212524414,
+ -0.875999927520752,
+ -1.0999999046325684,
+ -1.3280000686645508,
+ -1.5520000457763672,
+ -1.7640001773834229,
+ -1.9490001201629639,
+ -2.0460000038146973
+ ],
+ "yaxis": "y2"
+ },
+ {
+ "marker": {
+ "color": "black"
+ },
+ "mode": "lines",
+ "name": "markers",
+ "showlegend": false,
+ "type": "scatter",
+ "x": [
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11
+ ],
+ "xaxis": "x2",
+ "y": [
+ 0,
+ -0.11100006103515625,
+ -0.40000009536743164,
+ -0.6680002212524414,
+ -0.875999927520752,
+ -1.0999999046325684,
+ -1.3280000686645508,
+ -1.5520000457763672,
+ -1.7630000114440918,
+ -1.9479999542236328,
+ -2.0450000762939453
+ ],
+ "yaxis": "y2"
+ },
+ {
+ "marker": {
+ "color": "black"
+ },
+ "mode": "lines",
+ "name": "markers",
+ "showlegend": false,
+ "type": "scatter",
+ "x": [
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11
+ ],
+ "xaxis": "x3",
+ "y": [
+ 0.10299968719482422,
+ 0.15999984741210938,
+ 0.32399988174438477,
+ 0.5789999961853027,
+ 0.7129998207092285,
+ 0.7399997711181641,
+ 0.7839999198913574,
+ 0.8429999351501465,
+ 0.9109997749328613,
+ 0.9739999771118164,
+ 1.0029997825622559
+ ],
+ "yaxis": "y3"
+ },
+ {
+ "marker": {
+ "color": "black"
+ },
+ "mode": "lines",
+ "name": "markers",
+ "showlegend": false,
+ "type": "scatter",
+ "x": [
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11
+ ],
+ "xaxis": "x3",
+ "y": [
+ 0.31099987030029297,
+ 0.36099958419799805,
+ 0.5089998245239258,
+ 0.7019996643066406,
+ 0.9089999198913574,
+ 1.2979998588562012,
+ 1.6929998397827148,
+ 1.680999755859375,
+ 1.5799999237060547,
+ 1.4839997291564941,
+ 1.4429998397827148
+ ],
+ "yaxis": "y3"
+ },
+ {
+ "marker": {
+ "color": "black"
+ },
+ "mode": "lines",
+ "name": "markers",
+ "showlegend": false,
+ "type": "scatter",
+ "x": [
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11
+ ],
+ "xaxis": "x3",
+ "y": [
+ 0.3129997253417969,
+ 0.3639998435974121,
+ 0.5109996795654297,
+ 0.740999698638916,
+ 1.0439996719360352,
+ 1.4069995880126953,
+ 1.735999584197998,
+ 2.1549997329711914,
+ 2.34999942779541,
+ 2.572999954223633,
+ 2.743000030517578
+ ],
+ "yaxis": "y3"
+ },
+ {
+ "marker": {
+ "color": "black"
+ },
+ "mode": "lines",
+ "name": "markers",
+ "showlegend": false,
+ "type": "scatter",
+ "x": [
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11
+ ],
+ "xaxis": "x3",
+ "y": [
+ 0.6589999198913574,
+ 0.6999998092651367,
+ 0.7039999961853027,
+ 0.7439999580383301,
+ 1.0469999313354492,
+ 1.4089999198913574,
+ 1.8169994354248047,
+ 2.2139997482299805,
+ 2.7259998321533203,
+ 3.0029993057250977,
+ 2.871999740600586
+ ],
+ "yaxis": "y3"
+ },
+ {
+ "marker": {
+ "color": "black"
+ },
+ "mode": "lines",
+ "name": "markers",
+ "showlegend": false,
+ "type": "scatter",
+ "x": [
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11
+ ],
+ "xaxis": "x3",
+ "y": [
+ -2.9070003032684326,
+ -2.8980002403259277,
+ -2.869000196456909,
+ -2.821000337600708,
+ -2.755000352859497,
+ -2.6700003147125244,
+ -2.570000171661377,
+ -2.451000213623047,
+ -2.319000244140625,
+ -2.186000347137451,
+ -2.1100001335144043
+ ],
+ "yaxis": "y3"
+ },
+ {
+ "marker": {
+ "color": "black"
+ },
+ "mode": "lines",
+ "name": "markers",
+ "showlegend": false,
+ "type": "scatter",
+ "x": [
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11
+ ],
+ "xaxis": "x3",
+ "y": [
+ -0.5620002746582031,
+ -0.7310004234313965,
+ -1.1020002365112305,
+ -1.5410003662109375,
+ -2.004000186920166,
+ -2.4760003089904785,
+ -2.568000316619873,
+ -2.449000120162964,
+ -2.317000150680542,
+ -2.185000419616699,
+ -2.1090002059936523
+ ],
+ "yaxis": "y3"
+ },
+ {
+ "marker": {
+ "color": "black"
+ },
+ "mode": "lines",
+ "name": "markers",
+ "showlegend": false,
+ "type": "scatter",
+ "x": [
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11
+ ],
+ "xaxis": "x3",
+ "y": [
+ -0.008000373840332031,
+ -0.05900001525878906,
+ -0.19800043106079102,
+ -0.3920001983642578,
+ -0.6140003204345703,
+ -0.8480000495910645,
+ -1.0810003280639648,
+ -1.3050003051757812,
+ -1.514000415802002,
+ -1.695000171661377,
+ -1.7860002517700195
+ ],
+ "yaxis": "y3"
+ },
+ {
+ "marker": {
+ "color": "black"
+ },
+ "mode": "lines",
+ "name": "markers",
+ "showlegend": false,
+ "type": "scatter",
+ "x": [
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11
+ ],
+ "xaxis": "x3",
+ "y": [
+ 0,
+ -0.05200004577636719,
+ -0.19100046157836914,
+ -0.3860001564025879,
+ -0.6090002059936523,
+ -0.8430004119873047,
+ -1.0770001411437988,
+ -1.3010001182556152,
+ -1.511000156402588,
+ -1.6910004615783691,
+ -1.7820000648498535
+ ],
+ "yaxis": "y3"
+ },
+ {
+ "marker": {
+ "color": "black"
+ },
+ "mode": "lines",
+ "name": "markers",
+ "showlegend": false,
+ "type": "scatter",
+ "x": [
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11
+ ],
+ "xaxis": "x4",
+ "y": [
+ 0.26599979400634766,
+ 0.46899986267089844,
+ 0.48599958419799805,
+ 0.4679999351501465,
+ 0.4649996757507324,
+ 0.4829998016357422,
+ 0.5219998359680176,
+ 0.5809998512268066,
+ 0.6529998779296875,
+ 0.7259998321533203,
+ 0.7619996070861816
+ ],
+ "yaxis": "y4"
+ },
+ {
+ "marker": {
+ "color": "black"
+ },
+ "mode": "lines",
+ "name": "markers",
+ "showlegend": false,
+ "type": "scatter",
+ "x": [
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11
+ ],
+ "xaxis": "x4",
+ "y": [
+ 0.5809998512268066,
+ 0.6429996490478516,
+ 0.8209996223449707,
+ 1.0959997177124023,
+ 1.304999828338623,
+ 1.485999584197998,
+ 1.566999912261963,
+ 1.4639997482299805,
+ 1.3229999542236328,
+ 1.2029995918273926,
+ 1.1509995460510254
+ ],
+ "yaxis": "y4"
+ },
+ {
+ "marker": {
+ "color": "black"
+ },
+ "mode": "lines",
+ "name": "markers",
+ "showlegend": false,
+ "type": "scatter",
+ "x": [
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11
+ ],
+ "xaxis": "x4",
+ "y": [
+ 0.6429996490478516,
+ 0.7389998435974121,
+ 0.9670000076293945,
+ 1.125,
+ 1.4479999542236328,
+ 1.860999584197998,
+ 1.9210000038146973,
+ 2.0979995727539062,
+ 2.3359999656677246,
+ 2.5709996223449707,
+ 2.7290000915527344
+ ],
+ "yaxis": "y4"
+ },
+ {
+ "marker": {
+ "color": "black"
+ },
+ "mode": "lines",
+ "name": "markers",
+ "showlegend": false,
+ "type": "scatter",
+ "x": [
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11
+ ],
+ "xaxis": "x4",
+ "y": [
+ 0.7659997940063477,
+ 0.8219995498657227,
+ 0.9829998016357422,
+ 1.235999584197998,
+ 1.5639996528625488,
+ 1.9429998397827148,
+ 2.3209996223449707,
+ 2.8199996948242188,
+ 2.9770002365112305,
+ 2.9469995498657227,
+ 2.856999397277832
+ ],
+ "yaxis": "y4"
+ },
+ {
+ "marker": {
+ "color": "black"
+ },
+ "mode": "lines",
+ "name": "markers",
+ "showlegend": false,
+ "type": "scatter",
+ "x": [
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11
+ ],
+ "xaxis": "x4",
+ "y": [
+ -2.7320001125335693,
+ -2.765000343322754,
+ -2.8560001850128174,
+ -2.8590002059936523,
+ -2.7910001277923584,
+ -2.70300030708313,
+ -2.5980002880096436,
+ -2.4760003089904785,
+ -2.3400001525878906,
+ -2.20300030708313,
+ -2.123000144958496
+ ],
+ "yaxis": "y4"
+ },
+ {
+ "marker": {
+ "color": "black"
+ },
+ "mode": "lines",
+ "name": "markers",
+ "showlegend": false,
+ "type": "scatter",
+ "x": [
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11
+ ],
+ "xaxis": "x4",
+ "y": [
+ -0.0710000991821289,
+ -0.33100032806396484,
+ -0.7780003547668457,
+ -1.2320003509521484,
+ -1.6870002746582031,
+ -2.138000249862671,
+ -2.5840001106262207,
+ -2.4750001430511475,
+ -2.3400001525878906,
+ -2.202000141143799,
+ -2.123000144958496
+ ],
+ "yaxis": "y4"
+ },
+ {
+ "marker": {
+ "color": "black"
+ },
+ "mode": "lines",
+ "name": "markers",
+ "showlegend": false,
+ "type": "scatter",
+ "x": [
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11
+ ],
+ "xaxis": "x4",
+ "y": [
+ -0.0710000991821289,
+ -0.11700010299682617,
+ -0.24300003051757812,
+ -0.42400026321411133,
+ -0.6370000839233398,
+ -0.8650002479553223,
+ -1.0950002670288086,
+ -1.318000316619873,
+ -1.5290002822875977,
+ -1.7130002975463867,
+ -1.8080003261566162
+ ],
+ "yaxis": "y4"
+ },
+ {
+ "marker": {
+ "color": "black"
+ },
+ "mode": "lines",
+ "name": "markers",
+ "showlegend": false,
+ "type": "scatter",
+ "x": [
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11
+ ],
+ "xaxis": "x4",
+ "y": [
+ 0,
+ -0.11600017547607422,
+ -0.24300003051757812,
+ -0.42400026321411133,
+ -0.6370000839233398,
+ -0.8640003204345703,
+ -1.0940003395080566,
+ -1.318000316619873,
+ -1.5290002822875977,
+ -1.7120001316070557,
+ -1.8070001602172852
+ ],
+ "yaxis": "y4"
+ },
+ {
+ "line": {
+ "color": "RoyalBlue",
+ "dash": "dot",
+ "width": 3
+ },
+ "mode": "lines",
+ "name": "markers",
+ "showlegend": false,
+ "type": "scatter",
+ "x": [
+ 1,
+ 11
+ ],
+ "xaxis": "x",
+ "y": [
+ 0,
+ 0
+ ],
+ "yaxis": "y"
+ },
+ {
+ "line": {
+ "color": "RoyalBlue",
+ "dash": "dot",
+ "width": 3
+ },
+ "mode": "lines",
+ "name": "markers",
+ "showlegend": false,
+ "type": "scatter",
+ "x": [
+ 1,
+ 11
+ ],
+ "xaxis": "x2",
+ "y": [
+ 0,
+ 0
+ ],
+ "yaxis": "y2"
+ },
+ {
+ "line": {
+ "color": "RoyalBlue",
+ "dash": "dot",
+ "width": 3
+ },
+ "mode": "lines",
+ "name": "markers",
+ "showlegend": false,
+ "type": "scatter",
+ "x": [
+ 1,
+ 11
+ ],
+ "xaxis": "x3",
+ "y": [
+ 0,
+ 0
+ ],
+ "yaxis": "y3"
+ },
+ {
+ "line": {
+ "color": "RoyalBlue",
+ "dash": "dot",
+ "width": 3
+ },
+ "mode": "lines",
+ "name": "markers",
+ "showlegend": false,
+ "type": "scatter",
+ "x": [
+ 1,
+ 11
+ ],
+ "xaxis": "x4",
+ "y": [
+ 0,
+ 0
+ ],
+ "yaxis": "y4"
+ }
+ ],
+ "layout": {
+ "annotations": [
+ {
+ "font": {
+ "size": 16
+ },
+ "showarrow": false,
+ "text": "Si1Ge3 strain 0%",
+ "x": 0.225,
+ "xanchor": "center",
+ "xref": "paper",
+ "y": 1,
+ "yanchor": "bottom",
+ "yref": "paper"
+ },
+ {
+ "font": {
+ "size": 16
+ },
+ "showarrow": false,
+ "text": " Si1G3 strain 5%",
+ "x": 0.775,
+ "xanchor": "center",
+ "xref": "paper",
+ "y": 1,
+ "yanchor": "bottom",
+ "yref": "paper"
+ },
+ {
+ "font": {
+ "size": 16
+ },
+ "showarrow": false,
+ "text": "S3Ge1 strain 0%",
+ "x": 0.225,
+ "xanchor": "center",
+ "xref": "paper",
+ "y": 0.48,
+ "yanchor": "bottom",
+ "yref": "paper"
+ },
+ {
+ "font": {
+ "size": 16
+ },
+ "showarrow": false,
+ "text": "Si3Ge1 strain 5%",
+ "x": 0.775,
+ "xanchor": "center",
+ "xref": "paper",
+ "y": 0.48,
+ "yanchor": "bottom",
+ "yref": "paper"
+ }
+ ],
+ "height": 1450,
+ "plot_bgcolor": "white",
+ "template": {
+ "data": {
+ "bar": [
+ {
+ "error_x": {
+ "color": "#2a3f5f"
+ },
+ "error_y": {
+ "color": "#2a3f5f"
+ },
+ "marker": {
+ "line": {
+ "color": "#E5ECF6",
+ "width": 0.5
+ }
+ },
+ "type": "bar"
+ }
+ ],
+ "barpolar": [
+ {
+ "marker": {
+ "line": {
+ "color": "#E5ECF6",
+ "width": 0.5
+ }
+ },
+ "type": "barpolar"
+ }
+ ],
+ "carpet": [
+ {
+ "aaxis": {
+ "endlinecolor": "#2a3f5f",
+ "gridcolor": "white",
+ "linecolor": "white",
+ "minorgridcolor": "white",
+ "startlinecolor": "#2a3f5f"
+ },
+ "baxis": {
+ "endlinecolor": "#2a3f5f",
+ "gridcolor": "white",
+ "linecolor": "white",
+ "minorgridcolor": "white",
+ "startlinecolor": "#2a3f5f"
+ },
+ "type": "carpet"
+ }
+ ],
+ "choropleth": [
+ {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ },
+ "type": "choropleth"
+ }
+ ],
+ "contour": [
+ {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ },
+ "colorscale": [
+ [
+ 0,
+ "#0d0887"
+ ],
+ [
+ 0.1111111111111111,
+ "#46039f"
+ ],
+ [
+ 0.2222222222222222,
+ "#7201a8"
+ ],
+ [
+ 0.3333333333333333,
+ "#9c179e"
+ ],
+ [
+ 0.4444444444444444,
+ "#bd3786"
+ ],
+ [
+ 0.5555555555555556,
+ "#d8576b"
+ ],
+ [
+ 0.6666666666666666,
+ "#ed7953"
+ ],
+ [
+ 0.7777777777777778,
+ "#fb9f3a"
+ ],
+ [
+ 0.8888888888888888,
+ "#fdca26"
+ ],
+ [
+ 1,
+ "#f0f921"
+ ]
+ ],
+ "type": "contour"
+ }
+ ],
+ "contourcarpet": [
+ {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ },
+ "type": "contourcarpet"
+ }
+ ],
+ "heatmap": [
+ {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ },
+ "colorscale": [
+ [
+ 0,
+ "#0d0887"
+ ],
+ [
+ 0.1111111111111111,
+ "#46039f"
+ ],
+ [
+ 0.2222222222222222,
+ "#7201a8"
+ ],
+ [
+ 0.3333333333333333,
+ "#9c179e"
+ ],
+ [
+ 0.4444444444444444,
+ "#bd3786"
+ ],
+ [
+ 0.5555555555555556,
+ "#d8576b"
+ ],
+ [
+ 0.6666666666666666,
+ "#ed7953"
+ ],
+ [
+ 0.7777777777777778,
+ "#fb9f3a"
+ ],
+ [
+ 0.8888888888888888,
+ "#fdca26"
+ ],
+ [
+ 1,
+ "#f0f921"
+ ]
+ ],
+ "type": "heatmap"
+ }
+ ],
+ "heatmapgl": [
+ {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ },
+ "colorscale": [
+ [
+ 0,
+ "#0d0887"
+ ],
+ [
+ 0.1111111111111111,
+ "#46039f"
+ ],
+ [
+ 0.2222222222222222,
+ "#7201a8"
+ ],
+ [
+ 0.3333333333333333,
+ "#9c179e"
+ ],
+ [
+ 0.4444444444444444,
+ "#bd3786"
+ ],
+ [
+ 0.5555555555555556,
+ "#d8576b"
+ ],
+ [
+ 0.6666666666666666,
+ "#ed7953"
+ ],
+ [
+ 0.7777777777777778,
+ "#fb9f3a"
+ ],
+ [
+ 0.8888888888888888,
+ "#fdca26"
+ ],
+ [
+ 1,
+ "#f0f921"
+ ]
+ ],
+ "type": "heatmapgl"
+ }
+ ],
+ "histogram": [
+ {
+ "marker": {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ }
+ },
+ "type": "histogram"
+ }
+ ],
+ "histogram2d": [
+ {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ },
+ "colorscale": [
+ [
+ 0,
+ "#0d0887"
+ ],
+ [
+ 0.1111111111111111,
+ "#46039f"
+ ],
+ [
+ 0.2222222222222222,
+ "#7201a8"
+ ],
+ [
+ 0.3333333333333333,
+ "#9c179e"
+ ],
+ [
+ 0.4444444444444444,
+ "#bd3786"
+ ],
+ [
+ 0.5555555555555556,
+ "#d8576b"
+ ],
+ [
+ 0.6666666666666666,
+ "#ed7953"
+ ],
+ [
+ 0.7777777777777778,
+ "#fb9f3a"
+ ],
+ [
+ 0.8888888888888888,
+ "#fdca26"
+ ],
+ [
+ 1,
+ "#f0f921"
+ ]
+ ],
+ "type": "histogram2d"
+ }
+ ],
+ "histogram2dcontour": [
+ {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ },
+ "colorscale": [
+ [
+ 0,
+ "#0d0887"
+ ],
+ [
+ 0.1111111111111111,
+ "#46039f"
+ ],
+ [
+ 0.2222222222222222,
+ "#7201a8"
+ ],
+ [
+ 0.3333333333333333,
+ "#9c179e"
+ ],
+ [
+ 0.4444444444444444,
+ "#bd3786"
+ ],
+ [
+ 0.5555555555555556,
+ "#d8576b"
+ ],
+ [
+ 0.6666666666666666,
+ "#ed7953"
+ ],
+ [
+ 0.7777777777777778,
+ "#fb9f3a"
+ ],
+ [
+ 0.8888888888888888,
+ "#fdca26"
+ ],
+ [
+ 1,
+ "#f0f921"
+ ]
+ ],
+ "type": "histogram2dcontour"
+ }
+ ],
+ "mesh3d": [
+ {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ },
+ "type": "mesh3d"
+ }
+ ],
+ "parcoords": [
+ {
+ "line": {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ }
+ },
+ "type": "parcoords"
+ }
+ ],
+ "pie": [
+ {
+ "automargin": true,
+ "type": "pie"
+ }
+ ],
+ "scatter": [
+ {
+ "marker": {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ }
+ },
+ "type": "scatter"
+ }
+ ],
+ "scatter3d": [
+ {
+ "line": {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ }
+ },
+ "marker": {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ }
+ },
+ "type": "scatter3d"
+ }
+ ],
+ "scattercarpet": [
+ {
+ "marker": {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ }
+ },
+ "type": "scattercarpet"
+ }
+ ],
+ "scattergeo": [
+ {
+ "marker": {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ }
+ },
+ "type": "scattergeo"
+ }
+ ],
+ "scattergl": [
+ {
+ "marker": {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ }
+ },
+ "type": "scattergl"
+ }
+ ],
+ "scattermapbox": [
+ {
+ "marker": {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ }
+ },
+ "type": "scattermapbox"
+ }
+ ],
+ "scatterpolar": [
+ {
+ "marker": {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ }
+ },
+ "type": "scatterpolar"
+ }
+ ],
+ "scatterpolargl": [
+ {
+ "marker": {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ }
+ },
+ "type": "scatterpolargl"
+ }
+ ],
+ "scatterternary": [
+ {
+ "marker": {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ }
+ },
+ "type": "scatterternary"
+ }
+ ],
+ "surface": [
+ {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ },
+ "colorscale": [
+ [
+ 0,
+ "#0d0887"
+ ],
+ [
+ 0.1111111111111111,
+ "#46039f"
+ ],
+ [
+ 0.2222222222222222,
+ "#7201a8"
+ ],
+ [
+ 0.3333333333333333,
+ "#9c179e"
+ ],
+ [
+ 0.4444444444444444,
+ "#bd3786"
+ ],
+ [
+ 0.5555555555555556,
+ "#d8576b"
+ ],
+ [
+ 0.6666666666666666,
+ "#ed7953"
+ ],
+ [
+ 0.7777777777777778,
+ "#fb9f3a"
+ ],
+ [
+ 0.8888888888888888,
+ "#fdca26"
+ ],
+ [
+ 1,
+ "#f0f921"
+ ]
+ ],
+ "type": "surface"
+ }
+ ],
+ "table": [
+ {
+ "cells": {
+ "fill": {
+ "color": "#EBF0F8"
+ },
+ "line": {
+ "color": "white"
+ }
+ },
+ "header": {
+ "fill": {
+ "color": "#C8D4E3"
+ },
+ "line": {
+ "color": "white"
+ }
+ },
+ "type": "table"
+ }
+ ]
+ },
+ "layout": {
+ "annotationdefaults": {
+ "arrowcolor": "#2a3f5f",
+ "arrowhead": 0,
+ "arrowwidth": 1
+ },
+ "coloraxis": {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ }
+ },
+ "colorscale": {
+ "diverging": [
+ [
+ 0,
+ "#8e0152"
+ ],
+ [
+ 0.1,
+ "#c51b7d"
+ ],
+ [
+ 0.2,
+ "#de77ae"
+ ],
+ [
+ 0.3,
+ "#f1b6da"
+ ],
+ [
+ 0.4,
+ "#fde0ef"
+ ],
+ [
+ 0.5,
+ "#f7f7f7"
+ ],
+ [
+ 0.6,
+ "#e6f5d0"
+ ],
+ [
+ 0.7,
+ "#b8e186"
+ ],
+ [
+ 0.8,
+ "#7fbc41"
+ ],
+ [
+ 0.9,
+ "#4d9221"
+ ],
+ [
+ 1,
+ "#276419"
+ ]
+ ],
+ "sequential": [
+ [
+ 0,
+ "#0d0887"
+ ],
+ [
+ 0.1111111111111111,
+ "#46039f"
+ ],
+ [
+ 0.2222222222222222,
+ "#7201a8"
+ ],
+ [
+ 0.3333333333333333,
+ "#9c179e"
+ ],
+ [
+ 0.4444444444444444,
+ "#bd3786"
+ ],
+ [
+ 0.5555555555555556,
+ "#d8576b"
+ ],
+ [
+ 0.6666666666666666,
+ "#ed7953"
+ ],
+ [
+ 0.7777777777777778,
+ "#fb9f3a"
+ ],
+ [
+ 0.8888888888888888,
+ "#fdca26"
+ ],
+ [
+ 1,
+ "#f0f921"
+ ]
+ ],
+ "sequentialminus": [
+ [
+ 0,
+ "#0d0887"
+ ],
+ [
+ 0.1111111111111111,
+ "#46039f"
+ ],
+ [
+ 0.2222222222222222,
+ "#7201a8"
+ ],
+ [
+ 0.3333333333333333,
+ "#9c179e"
+ ],
+ [
+ 0.4444444444444444,
+ "#bd3786"
+ ],
+ [
+ 0.5555555555555556,
+ "#d8576b"
+ ],
+ [
+ 0.6666666666666666,
+ "#ed7953"
+ ],
+ [
+ 0.7777777777777778,
+ "#fb9f3a"
+ ],
+ [
+ 0.8888888888888888,
+ "#fdca26"
+ ],
+ [
+ 1,
+ "#f0f921"
+ ]
+ ]
+ },
+ "colorway": [
+ "#636efa",
+ "#EF553B",
+ "#00cc96",
+ "#ab63fa",
+ "#FFA15A",
+ "#19d3f3",
+ "#FF6692",
+ "#B6E880",
+ "#FF97FF",
+ "#FECB52"
+ ],
+ "font": {
+ "color": "#2a3f5f"
+ },
+ "geo": {
+ "bgcolor": "white",
+ "lakecolor": "white",
+ "landcolor": "#E5ECF6",
+ "showlakes": true,
+ "showland": true,
+ "subunitcolor": "white"
+ },
+ "hoverlabel": {
+ "align": "left"
+ },
+ "hovermode": "closest",
+ "mapbox": {
+ "style": "light"
+ },
+ "paper_bgcolor": "white",
+ "plot_bgcolor": "#E5ECF6",
+ "polar": {
+ "angularaxis": {
+ "gridcolor": "white",
+ "linecolor": "white",
+ "ticks": ""
+ },
+ "bgcolor": "#E5ECF6",
+ "radialaxis": {
+ "gridcolor": "white",
+ "linecolor": "white",
+ "ticks": ""
+ }
+ },
+ "scene": {
+ "xaxis": {
+ "backgroundcolor": "#E5ECF6",
+ "gridcolor": "white",
+ "gridwidth": 2,
+ "linecolor": "white",
+ "showbackground": true,
+ "ticks": "",
+ "zerolinecolor": "white"
+ },
+ "yaxis": {
+ "backgroundcolor": "#E5ECF6",
+ "gridcolor": "white",
+ "gridwidth": 2,
+ "linecolor": "white",
+ "showbackground": true,
+ "ticks": "",
+ "zerolinecolor": "white"
+ },
+ "zaxis": {
+ "backgroundcolor": "#E5ECF6",
+ "gridcolor": "white",
+ "gridwidth": 2,
+ "linecolor": "white",
+ "showbackground": true,
+ "ticks": "",
+ "zerolinecolor": "white"
+ }
+ },
+ "shapedefaults": {
+ "line": {
+ "color": "#2a3f5f"
+ }
+ },
+ "ternary": {
+ "aaxis": {
+ "gridcolor": "white",
+ "linecolor": "white",
+ "ticks": ""
+ },
+ "baxis": {
+ "gridcolor": "white",
+ "linecolor": "white",
+ "ticks": ""
+ },
+ "bgcolor": "#E5ECF6",
+ "caxis": {
+ "gridcolor": "white",
+ "linecolor": "white",
+ "ticks": ""
+ }
+ },
+ "title": {
+ "x": 0.05
+ },
+ "xaxis": {
+ "automargin": true,
+ "gridcolor": "white",
+ "linecolor": "white",
+ "ticks": "",
+ "title": {
+ "standoff": 15
+ },
+ "zerolinecolor": "white",
+ "zerolinewidth": 2
+ },
+ "yaxis": {
+ "automargin": true,
+ "gridcolor": "white",
+ "linecolor": "white",
+ "ticks": "",
+ "title": {
+ "standoff": 15
+ },
+ "zerolinecolor": "white",
+ "zerolinewidth": 2
+ }
+ }
+ },
+ "width": 900,
+ "xaxis": {
+ "anchor": "y",
+ "domain": [
+ 0,
+ 0.45
+ ],
+ "gridcolor": "lightgrey",
+ "gridwidth": 0.5,
+ "linecolor": "black",
+ "linewidth": 1,
+ "mirror": true,
+ "range": [
+ 1,
+ 11
+ ],
+ "showgrid": true,
+ "ticks": "inside",
+ "ticktext": [
+ "G",
+ "Z"
+ ],
+ "tickvals": [
+ 1,
+ 11
+ ]
+ },
+ "xaxis2": {
+ "anchor": "y2",
+ "domain": [
+ 0.55,
+ 1
+ ],
+ "gridcolor": "lightgrey",
+ "gridwidth": 0.5,
+ "linecolor": "black",
+ "linewidth": 1,
+ "mirror": true,
+ "range": [
+ 1,
+ 11
+ ],
+ "showgrid": true,
+ "ticks": "inside",
+ "ticktext": [
+ "G",
+ "Z"
+ ],
+ "tickvals": [
+ 1,
+ 11
+ ]
+ },
+ "xaxis3": {
+ "anchor": "y3",
+ "domain": [
+ 0,
+ 0.45
+ ],
+ "gridcolor": "lightgrey",
+ "gridwidth": 0.5,
+ "linecolor": "black",
+ "linewidth": 1,
+ "mirror": true,
+ "range": [
+ 1,
+ 11
+ ],
+ "showgrid": true,
+ "ticks": "inside",
+ "ticktext": [
+ "G",
+ "Z"
+ ],
+ "tickvals": [
+ 1,
+ 11
+ ]
+ },
+ "xaxis4": {
+ "anchor": "y4",
+ "domain": [
+ 0.55,
+ 1
+ ],
+ "gridcolor": "lightgrey",
+ "gridwidth": 0.5,
+ "linecolor": "black",
+ "linewidth": 1,
+ "mirror": true,
+ "range": [
+ 1,
+ 11
+ ],
+ "showgrid": true,
+ "ticks": "inside",
+ "ticktext": [
+ "G",
+ "Z"
+ ],
+ "tickvals": [
+ 1,
+ 11
+ ]
+ },
+ "yaxis": {
+ "anchor": "x",
+ "domain": [
+ 0.52,
+ 1
+ ],
+ "gridcolor": "lightgrey",
+ "gridwidth": 0.5,
+ "linecolor": "black",
+ "linewidth": 1,
+ "mirror": true,
+ "showgrid": true,
+ "ticks": "inside",
+ "title": {
+ "text": "Energy, eV"
+ }
+ },
+ "yaxis2": {
+ "anchor": "x2",
+ "domain": [
+ 0.52,
+ 1
+ ],
+ "gridcolor": "lightgrey",
+ "gridwidth": 0.5,
+ "linecolor": "black",
+ "linewidth": 1,
+ "mirror": true,
+ "showgrid": true,
+ "ticks": "inside",
+ "title": {
+ "text": "Energy, eV"
+ }
+ },
+ "yaxis3": {
+ "anchor": "x3",
+ "domain": [
+ 0,
+ 0.48
+ ],
+ "gridcolor": "lightgrey",
+ "gridwidth": 0.5,
+ "linecolor": "black",
+ "linewidth": 1,
+ "mirror": true,
+ "showgrid": true,
+ "ticks": "inside",
+ "title": {
+ "text": "Energy, eV"
+ }
+ },
+ "yaxis4": {
+ "anchor": "x4",
+ "domain": [
+ 0,
+ 0.48
+ ],
+ "gridcolor": "lightgrey",
+ "gridwidth": 0.5,
+ "linecolor": "black",
+ "linewidth": 1,
+ "mirror": true,
+ "showgrid": true,
+ "ticks": "inside",
+ "title": {
+ "text": "Energy, eV"
+ }
+ }
+ }
+ },
+ "text/html": [
+ "\n",
+ " \n",
+ " \n",
+ "
\n",
+ " \n",
+ "
"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "### EXAMPLE OF READING DAT WITH MODE=\"Auto\" ###\n",
+ "\n",
+ "\"\"\"\n",
+ "read QE output file with bands for 0% and 5% strain and different composition\n",
+ "reshape data: 8 bands 11 k-points\n",
+ "In this case the fermi level is not specified,\n",
+ "it is automatically placed at the top of the valence zone\n",
+ "\"\"\"\n",
+ "\n",
+ "data=read_data('bands/si1ge3_0.dat')\n",
+ "si1ge3_0=data.read_bands_ml(mode='Auto', bands_num=4)\n",
+ "si1ge3_0=si1ge3_0.reshape(8,11)\n",
+ "\n",
+ "data=read_data('bands/si1ge3_5.dat')\n",
+ "si1ge3_5=data.read_bands_ml(mode='Auto', bands_num=4)\n",
+ "si1ge3_5=si1ge3_5.reshape(8,11)\n",
+ "\n",
+ "data=read_data('bands/si3ge1_0.dat')\n",
+ "si3ge1_0=data.read_bands_ml(mode='Auto', bands_num=4)\n",
+ "si3ge1_0=si3ge1_0.reshape(8,11)\n",
+ "\n",
+ "data=read_data('bands/si3ge1_5.dat')\n",
+ "si3ge1_5=data.read_bands_ml(mode='Auto', bands_num=4)\n",
+ "si3ge1_5=si3ge1_5.reshape(8,11)\n",
+ "\n",
+ "\n",
+ "fig = make_subplots(rows=2, cols=2,\n",
+ " subplot_titles=(\"Si1Ge3 strain 0%\", \" Si1G3 strain 5%\", 'S3Ge1 strain 0%', 'Si3Ge1 strain 5%'),\n",
+ " vertical_spacing=0.04)\n",
+ "\n",
+ "for i in range(si3ge1_0.shape[0]):\n",
+ " fig.add_trace(go.Scatter(x=np.arange(1,12,1), y=si3ge1_0[i],\n",
+ " mode='lines', marker=dict(color='black'), showlegend=False, \n",
+ " name='markers'), col=1, row=1) \n",
+ "for i in range(si3ge1_5.shape[0]):\n",
+ " fig.add_trace(go.Scatter(x=np.arange(1,12,1), y=si3ge1_5[i],\n",
+ " mode='lines', marker=dict(color='black'), showlegend=False, \n",
+ " name='markers'), col=2, row=1) \n",
+ "for i in range(si1ge3_0.shape[0]):\n",
+ " fig.add_trace(go.Scatter(x=np.arange(1,12,1), y=si1ge3_0[i],\n",
+ " mode='lines', marker=dict(color='black'), showlegend=False, \n",
+ " name='markers'), col=1, row=2) \n",
+ "for i in range(si1ge3_5.shape[0]):\n",
+ " fig.add_trace(go.Scatter(x=np.arange(1,12,1), y=si1ge3_5[i],\n",
+ " mode='lines', marker=dict(color='black'), showlegend=False, \n",
+ " name='markers'), col=2, row=2) \n",
+ " \n",
+ "fig.add_trace(go.Scatter(x=[1,11], y=[0,0],\n",
+ " mode='lines', line=dict(color= \"RoyalBlue\",width=3, dash='dot'), showlegend=False, \n",
+ " name='markers'), col=1, row=1) \n",
+ "fig.add_trace(go.Scatter(x=[1,11], y=[0,0],\n",
+ " mode='lines', line=dict(color= \"RoyalBlue\",width=3, dash='dot'), showlegend=False, \n",
+ " name='markers'), col=2, row=1) \n",
+ "fig.add_trace(go.Scatter(x=[1,11], y=[0,0],\n",
+ " mode='lines', line=dict(color= \"RoyalBlue\",width=3, dash='dot'), showlegend=False, \n",
+ " name='markers'), col=1, row=2) \n",
+ "fig.add_trace(go.Scatter(x=[1,11], y=[0,0],\n",
+ " mode='lines', line=dict(color= \"RoyalBlue\",width=3, dash='dot'), showlegend=False, \n",
+ " name='markers'), col=2, row=2) \n",
+ "fig.update_xaxes(showgrid=True, \n",
+ " gridwidth=0.5, \n",
+ " gridcolor='lightgrey', \n",
+ " ticks='inside' , \n",
+ " linecolor= 'black', \n",
+ " linewidth= 1,\n",
+ " mirror= True,\n",
+ " ticktext=['G', 'Z'],\n",
+ " tickvals=[1,11],\n",
+ " range=[1,11],\n",
+ " )\n",
+ "fig.update_yaxes(title='Energy, eV', \n",
+ " showgrid=True, \n",
+ " gridwidth=0.5, \n",
+ " gridcolor='lightgrey', \n",
+ " ticks='inside' , \n",
+ " linecolor= 'black',\n",
+ " linewidth= 1,\n",
+ " mirror= True,\n",
+ " )\n",
+ "\n",
+ "fig.update_layout(width=900, height=1450, plot_bgcolor='white')\n",
+ "fig.show()\n",
+ "\n",
+ "\"\"\"\n",
+ "I used only 11 k-points to produce these bandstructures,\n",
+ "therefore, the bandstructures look a bit ugly\n",
+ "We can see how conduction bands shift with applied strain\n",
+ "\"\"\""
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "metadata": {
+ "ExecuteTime": {
+ "end_time": "2021-10-29T20:09:11.732047Z",
+ "start_time": "2021-10-29T20:09:11.692038Z"
+ }
+ },
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "array([[10.34568286, 11.02820471, 0.25 ],\n",
+ " [10.45682864, 10.95544485, 0.25 ],\n",
+ " [10.56082864, 10.8812629 , 0.25 ],\n",
+ " [10.66056829, 10.81293885, 0.25 ],\n",
+ " [10.76056829, 10.74977523, 0.25 ],\n",
+ " [10.87056829, 10.67605785, 0.25 ],\n",
+ " [10.34568286, 10.79211782, 0.5 ],\n",
+ " [10.45682864, 10.71265005, 0.5 ],\n",
+ " [10.56082864, 10.64615759, 0.5 ],\n",
+ " [10.66056829, 10.57623403, 0.5 ],\n",
+ " [10.76056829, 10.50342487, 0.5 ],\n",
+ " [10.87056829, 10.42434959, 0.5 ],\n",
+ " [10.60789756, 10.61021975, 0.5 ],\n",
+ " [10.34568286, 10.5680025 , 0.75 ],\n",
+ " [10.45682864, 10.48979506, 0.75 ],\n",
+ " [10.56082864, 10.41511474, 0.75 ],\n",
+ " [10.66056829, 10.34128041, 0.75 ],\n",
+ " [10.76056829, 10.27133855, 0.75 ],\n",
+ " [10.87056829, 10.18915583, 0.75 ]])"
+ ]
+ },
+ "execution_count": 4,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "\"\"\" \n",
+ "reading cell parameters from all QE output xlm files\n",
+ "\"\"\"\n",
+ "\n",
+ "mypath='cell_param/'\n",
+ "filenames = next(walk(mypath), (None, None, []))[2]\n",
+ "\n",
+ "lattice=[]\n",
+ "fermi=[]\n",
+ "for file in filenames:\n",
+ " data=read_data(mypath+file)\n",
+ " (a, c, composition) = data.read_lattice_parameters()\n",
+ " lattice.append ([a, c, composition])\n",
+ "# Fermi energy could be obtained with: \n",
+ "# fermi_level = data.read_fermi_levle()\n",
+ "# fermi.append(fermi_level)\n",
+ " \n",
+ "X=lattice=np.array(lattice)\n",
+ "\n",
+ "X\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 36,
+ "metadata": {
+ "ExecuteTime": {
+ "end_time": "2021-10-29T02:23:48.178246Z",
+ "start_time": "2021-10-29T02:23:48.159233Z"
+ }
+ },
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "['si1ge3_0.xml',\n",
+ " 'si1ge3_1.xml',\n",
+ " 'si1ge3_2.xml',\n",
+ " 'si1ge3_3.xml',\n",
+ " 'si1ge3_4.xml',\n",
+ " 'si1ge3_5.xml',\n",
+ " 'si2ge2_0.xml',\n",
+ " 'si2ge2_1.xml',\n",
+ " 'si2ge2_2.xml',\n",
+ " 'si2ge2_3.xml',\n",
+ " 'si2ge2_4.xml',\n",
+ " 'si2ge2_5.xml',\n",
+ " 'si2ge2_relax.xml',\n",
+ " 'si3ge1_0.xml',\n",
+ " 'si3ge1_1.xml',\n",
+ " 'si3ge1_2.xml',\n",
+ " 'si3ge1_3.xml',\n",
+ " 'si3ge1_4.xml',\n",
+ " 'si3ge1_5.xml']"
+ ]
+ },
+ "execution_count": 36,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "filenames"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "metadata": {
+ "ExecuteTime": {
+ "end_time": "2021-10-29T20:09:14.289238Z",
+ "start_time": "2021-10-29T20:09:14.260232Z"
+ }
+ },
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "(19, 44)"
+ ]
+ },
+ "execution_count": 5,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "''' \n",
+ "reading bands from all QE output files \n",
+ "(output files are produced with band.x module)\n",
+ "'''\n",
+ "\n",
+ "mypath='bands/'\n",
+ "filenames = next(walk(mypath), (None, None, []))[2]\n",
+ "\n",
+ "y=[]\n",
+ "for i in range(len(filenames)):\n",
+ " data=read_data(mypath+filenames[i])\n",
+ " bands_ml=data.read_bands_ml(mode='Auto', bands_num=2)\n",
+ " y= np.append(y, bands_ml)\n",
+ "y=y.reshape(len(filenames),44)\n",
+ "y.shape"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# prepare data for modeling: split for training and testig sets"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 8,
+ "metadata": {
+ "ExecuteTime": {
+ "end_time": "2021-10-29T20:09:53.539674Z",
+ "start_time": "2021-10-29T20:09:47.109225Z"
+ }
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Time taken for RF: 0:00:06.364436\n",
+ "Train:\n",
+ "R^2:0.96 RMSE:0.02\n",
+ "Test:\n",
+ "R^2:1.0 RMSE: 0.02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "C:\\Users\\exx\\Anaconda3\\envs\\tensorflow\\lib\\site-packages\\sklearn\\base.py:434: FutureWarning:\n",
+ "\n",
+ "The default value of multioutput (not exposed in score method) will change from 'variance_weighted' to 'uniform_average' in 0.23 to keep consistent with 'metrics.r2_score'. To specify the default value manually and avoid the warning, please either call 'metrics.r2_score' directly or make a custom scorer with 'metrics.make_scorer' (the built-in scorer 'r2' uses multioutput='uniform_average').\n",
+ "\n"
+ ]
+ }
+ ],
+ "source": [
+ "my_data=data_preparation(X,y)\n",
+ "\n",
+ "#to manually specify testing set, use the following:\n",
+ "(X_train, X_test, Y_train, Y_test)=my_data.select_train_test(test_row_number=[12,16])\n",
+ "# for a random split use function:\n",
+ "#(X_train, X_test, Y_train, Y_test)=my_data.random_split(train_split=0.8, seed=42)\n",
+ "\n",
+ "my_model=modeling(X_train, Y_train, X_test, Y_test, scaler='None')\n",
+ "\n",
+ "#train Random forest model with No initial guess\n",
+ "(y_fit_RF, y_predict_RF, trials_RF, best_space_RF, regressorRF, text_RF)=my_model.RandomForest( max_evals=12, timeout=150*60,loss_threshold=0.01, cv=5, verbose=1)\n",
+ "\n",
+ "print(text_RF)\n",
+ "\n",
+ "\n",
+ "#"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 9,
+ "metadata": {
+ "ExecuteTime": {
+ "end_time": "2021-10-29T20:28:55.380238Z",
+ "start_time": "2021-10-29T20:10:22.332765Z"
+ }
+ },
+ "outputs": [
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "C:\\Users\\exx\\Anaconda3\\envs\\tensorflow\\lib\\site-packages\\xgboost\\core.py:614: UserWarning:\n",
+ "\n",
+ "Use subset (sliced data) of np.ndarray is not recommended because it will generate extra copies and increase memory consumption\n",
+ "\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Time taken for XGB: 0:18:31.542898\n",
+ "Train:\n",
+ "R^2:0.2 RMSE:0.1\n",
+ "Test:\n",
+ "R^2:1.0 RMSE: 0.06\n"
+ ]
+ }
+ ],
+ "source": [
+ "## MultiOutputRegressor is VERY SLOW!\n",
+ "## need more time to better understand MultiOutputRegressor\n",
+ "\n",
+ "#train XGboost model with initial guess\n",
+ "best_space = {'alpha': 0.0, 'max_depth': 3.0, 'min_split_loss': 5.6, 'n_estimators': 100, 'x_reg_lambda': 1.00, 'x_subsample': 1.0}\n",
+ "(y_fit_XG, y_predict_XG, trials_XG, best_space_XG, regressorXGB, text_XG)=my_model.XGB( max_evals=12, timeout=150*60,loss_threshold=0.01,cv=5, verbose=1, init_vals=[best_space])\n",
+ "print(text_XG)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# let's plot predicted bands vs calculated bands"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 11,
+ "metadata": {
+ "ExecuteTime": {
+ "end_time": "2021-10-29T20:30:04.049798Z",
+ "start_time": "2021-10-29T20:30:03.958778Z"
+ }
+ },
+ "outputs": [
+ {
+ "data": {
+ "application/vnd.plotly.v1+json": {
+ "config": {
+ "plotlyServerURL": "https://plot.ly"
+ },
+ "data": [
+ {
+ "marker": {
+ "color": "black"
+ },
+ "mode": "lines",
+ "name": "markers",
+ "showlegend": false,
+ "type": "scatter",
+ "x": [
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11
+ ],
+ "xaxis": "x",
+ "y": [
+ 0.42599964141845703,
+ 0.48799991607666016,
+ 0.5489997863769531,
+ 0.5269999504089355,
+ 0.5260000228881836,
+ 0.5460000038146973,
+ 0.5850000381469727,
+ 0.6389999389648438,
+ 0.7030000686645508,
+ 0.7599997520446777,
+ 0.7849998474121094
+ ],
+ "yaxis": "y"
+ },
+ {
+ "marker": {
+ "color": "black"
+ },
+ "mode": "lines",
+ "name": "markers",
+ "showlegend": false,
+ "type": "scatter",
+ "x": [
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11
+ ],
+ "xaxis": "x",
+ "y": [
+ 0.43899965286254883,
+ 0.5019998550415039,
+ 0.6679997444152832,
+ 0.9449996948242188,
+ 1.299999713897705,
+ 1.4679999351501465,
+ 1.565000057220459,
+ 1.5359997749328613,
+ 1.440999984741211,
+ 1.3529996871948242,
+ 1.315999984741211
+ ],
+ "yaxis": "y"
+ },
+ {
+ "marker": {
+ "color": "black"
+ },
+ "mode": "lines",
+ "name": "markers",
+ "showlegend": false,
+ "type": "scatter",
+ "x": [
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11
+ ],
+ "xaxis": "x",
+ "y": [
+ 0.619999885559082,
+ 0.5889997482299805,
+ 0.681999683380127,
+ 0.9589996337890625,
+ 1.307999610900879,
+ 1.7129998207092285,
+ 2.127999782562256,
+ 2.251999855041504,
+ 2.47499942779541,
+ 2.7290000915527344,
+ 2.913999557495117
+ ],
+ "yaxis": "y"
+ },
+ {
+ "marker": {
+ "color": "black"
+ },
+ "mode": "lines",
+ "name": "markers",
+ "showlegend": false,
+ "type": "scatter",
+ "x": [
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11
+ ],
+ "xaxis": "x",
+ "y": [
+ 0.8449997901916504,
+ 0.8959999084472656,
+ 1.0049996376037598,
+ 1.1459999084472656,
+ 1.3139996528625488,
+ 1.7279996871948242,
+ 2.174999713897705,
+ 2.673999786376953,
+ 3.2039995193481445,
+ 3.251999855041504,
+ 3.102999687194824
+ ],
+ "yaxis": "y"
+ },
+ {
+ "marker": {
+ "color": "black"
+ },
+ "mode": "lines",
+ "name": "markers",
+ "showlegend": false,
+ "type": "scatter",
+ "x": [
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11
+ ],
+ "xaxis": "x",
+ "y": [
+ -2.805000066757202,
+ -2.8390002250671387,
+ -2.8560001850128174,
+ -2.807000160217285,
+ -2.7380001544952393,
+ -2.6500000953674316,
+ -2.5430002212524414,
+ -2.494000196456909,
+ -2.38100004196167,
+ -2.2820000648498535,
+ -2.2380001544952393
+ ],
+ "yaxis": "y"
+ },
+ {
+ "marker": {
+ "color": "black"
+ },
+ "mode": "lines",
+ "name": "markers",
+ "showlegend": false,
+ "type": "scatter",
+ "x": [
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11
+ ],
+ "xaxis": "x",
+ "y": [
+ -0.11400032043457031,
+ -0.24900007247924805,
+ -0.569000244140625,
+ -0.9670000076293945,
+ -1.3940000534057617,
+ -1.8340001106262207,
+ -2.2750000953674316,
+ -2.4180002212524414,
+ -2.2760002613067627,
+ -2.121000051498413,
+ -2.002000093460083
+ ],
+ "yaxis": "y"
+ },
+ {
+ "marker": {
+ "color": "black"
+ },
+ "mode": "lines",
+ "name": "markers",
+ "showlegend": false,
+ "type": "scatter",
+ "x": [
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11
+ ],
+ "xaxis": "x",
+ "y": [
+ -0.03299999237060547,
+ -0.07999992370605469,
+ -0.2090001106262207,
+ -0.3940000534057617,
+ -0.6100001335144043,
+ -0.8410000801086426,
+ -1.0729999542236328,
+ -1.3010001182556152,
+ -1.5190000534057617,
+ -1.7200002670288086,
+ -1.8550002574920654
+ ],
+ "yaxis": "y"
+ },
+ {
+ "marker": {
+ "color": "black"
+ },
+ "mode": "lines",
+ "name": "markers",
+ "showlegend": false,
+ "type": "scatter",
+ "x": [
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11
+ ],
+ "xaxis": "x",
+ "y": [
+ 0,
+ -0.04699993133544922,
+ -0.17400026321411133,
+ -0.3559999465942383,
+ -0.568000316619873,
+ -0.7910003662109375,
+ -1.0130000114440918,
+ -1.2239999771118164,
+ -1.4130001068115234,
+ -1.558000087738037,
+ -1.6180000305175781
+ ],
+ "yaxis": "y"
+ },
+ {
+ "marker": {
+ "color": "red"
+ },
+ "mode": "markers",
+ "name": "markers",
+ "showlegend": false,
+ "type": "scatter",
+ "x": [
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11
+ ],
+ "xaxis": "x",
+ "y": [
+ 0.4130453828609351,
+ 0.47405689412897284,
+ 0.5499216998466337,
+ 0.5397917230923971,
+ 0.5401111901408494,
+ 0.5606301481073553,
+ 0.6007891044472203,
+ 0.6570100976963236,
+ 0.7224344111452199,
+ 0.7836690803970954,
+ 0.8106464653304128
+ ],
+ "yaxis": "y"
+ },
+ {
+ "marker": {
+ "color": "red"
+ },
+ "mode": "markers",
+ "name": "markers",
+ "showlegend": false,
+ "type": "scatter",
+ "x": [
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11
+ ],
+ "xaxis": "x",
+ "y": [
+ 0.4555379706199723,
+ 0.5071805938325747,
+ 0.663156579841267,
+ 0.9331213290041144,
+ 1.2628055341315991,
+ 1.4782955929486439,
+ 1.5774609308050136,
+ 1.5447185497091274,
+ 1.445215982018095,
+ 1.3522159800384983,
+ 1.312669130286785
+ ],
+ "yaxis": "y"
+ },
+ {
+ "marker": {
+ "color": "red"
+ },
+ "mode": "markers",
+ "name": "markers",
+ "showlegend": false,
+ "type": "scatter",
+ "x": [
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11
+ ],
+ "xaxis": "x",
+ "y": [
+ -0.029348458906616828,
+ -0.07725006341934204,
+ -0.20602152865342419,
+ -0.39054170883063116,
+ -0.6063813988608543,
+ -0.8352071004684525,
+ -1.0670732620990637,
+ -1.2933384463040516,
+ -1.5092020763291254,
+ -1.7069557854021438,
+ -1.8344911249599072
+ ],
+ "yaxis": "y"
+ },
+ {
+ "marker": {
+ "color": "red"
+ },
+ "mode": "markers",
+ "name": "markers",
+ "showlegend": false,
+ "type": "scatter",
+ "x": [
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11
+ ],
+ "xaxis": "x",
+ "y": [
+ 0,
+ -0.05133331845505069,
+ -0.17933969846879594,
+ -0.36269832560510346,
+ -0.574873751462108,
+ -0.7991287979212675,
+ -1.0229369480200488,
+ -1.236344727602872,
+ -1.4284303754267067,
+ -1.5805971050503278,
+ -1.6465341593279983
+ ],
+ "yaxis": "y"
+ },
+ {
+ "marker": {
+ "color": "blue"
+ },
+ "mode": "markers",
+ "name": "markers",
+ "showlegend": false,
+ "type": "scatter",
+ "x": [
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11
+ ],
+ "xaxis": "x",
+ "y": [
+ 0.3509269058704376,
+ 0.3960448205471039,
+ 0.4706715941429138,
+ 0.5473999977111816,
+ 0.5634896159172058,
+ 0.5862775444984436,
+ 0.6290913820266724,
+ 0.6894845962524414,
+ 0.756218433380127,
+ 0.8233209252357483,
+ 0.8553644418716431
+ ],
+ "yaxis": "y"
+ },
+ {
+ "marker": {
+ "color": "blue"
+ },
+ "mode": "markers",
+ "name": "markers",
+ "showlegend": false,
+ "type": "scatter",
+ "x": [
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11
+ ],
+ "xaxis": "x",
+ "y": [
+ 0.4787784814834595,
+ 0.5364609956741333,
+ 0.6600321531295776,
+ 0.915432333946228,
+ 1.1826930046081543,
+ 1.4425299167633057,
+ 1.5780549049377441,
+ 1.540902853012085,
+ 1.4370265007019043,
+ 1.342199444770813,
+ 1.298526406288147
+ ],
+ "yaxis": "y"
+ },
+ {
+ "marker": {
+ "color": "blue"
+ },
+ "mode": "markers",
+ "name": "markers",
+ "showlegend": false,
+ "type": "scatter",
+ "x": [
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11
+ ],
+ "xaxis": "x",
+ "y": [
+ -0.058823585510253906,
+ -0.10788238048553467,
+ -0.23852920532226562,
+ -0.4229997992515564,
+ -0.6380578279495239,
+ -0.8666466474533081,
+ -1.0972938537597656,
+ -1.3220583200454712,
+ -1.5344104766845703,
+ -1.723353385925293,
+ -1.8318228721618652
+ ],
+ "yaxis": "y"
+ },
+ {
+ "marker": {
+ "color": "blue"
+ },
+ "mode": "markers",
+ "name": "markers",
+ "showlegend": false,
+ "type": "scatter",
+ "x": [
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11
+ ],
+ "xaxis": "x",
+ "y": [
+ 2.384185791015625e-07,
+ -0.07094085216522217,
+ -0.2199997901916504,
+ -0.41017627716064453,
+ -0.6239991188049316,
+ -0.8504111766815186,
+ -1.077823281288147,
+ -1.296940565109253,
+ -1.4993523359298706,
+ -1.6664843559265137,
+ -1.7460424900054932
+ ],
+ "yaxis": "y"
+ },
+ {
+ "marker": {
+ "color": "black"
+ },
+ "mode": "lines",
+ "name": "markers",
+ "showlegend": false,
+ "type": "scatter",
+ "x": [
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11
+ ],
+ "xaxis": "x2",
+ "y": [
+ 0.4289999008178711,
+ 0.46700000762939453,
+ 0.41300010681152344,
+ 0.38299989700317383,
+ 0.38000011444091797,
+ 0.40199995040893555,
+ 0.4479999542236328,
+ 0.5149998664855957,
+ 0.5970001220703125,
+ 0.6820001602172852,
+ 0.7270002365112305
+ ],
+ "yaxis": "y2"
+ },
+ {
+ "marker": {
+ "color": "black"
+ },
+ "mode": "lines",
+ "name": "markers",
+ "showlegend": false,
+ "type": "scatter",
+ "x": [
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11
+ ],
+ "xaxis": "x2",
+ "y": [
+ 0.5089998245239258,
+ 0.495999813079834,
+ 0.6880002021789551,
+ 0.9800000190734863,
+ 1.2049999237060547,
+ 1.3910002708435059,
+ 1.4759998321533203,
+ 1.3899998664855957,
+ 1.250999927520752,
+ 1.125,
+ 1.065999984741211
+ ],
+ "yaxis": "y2"
+ },
+ {
+ "marker": {
+ "color": "black"
+ },
+ "mode": "lines",
+ "name": "markers",
+ "showlegend": false,
+ "type": "scatter",
+ "x": [
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11
+ ],
+ "xaxis": "x2",
+ "y": [
+ 0.6700000762939453,
+ 0.7309999465942383,
+ 0.8580002784729004,
+ 1.0190000534057617,
+ 1.3499999046325684,
+ 1.7800002098083496,
+ 1.938000202178955,
+ 2.135000228881836,
+ 2.4169998168945312,
+ 2.7270002365112305,
+ 2.98799991607666
+ ],
+ "yaxis": "y2"
+ },
+ {
+ "marker": {
+ "color": "black"
+ },
+ "mode": "lines",
+ "name": "markers",
+ "showlegend": false,
+ "type": "scatter",
+ "x": [
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11
+ ],
+ "xaxis": "x2",
+ "y": [
+ 0.9019999504089355,
+ 0.9609999656677246,
+ 1.1329998970031738,
+ 1.4000000953674316,
+ 1.744999885559082,
+ 1.940000057220459,
+ 2.25600004196167,
+ 2.7690000534057617,
+ 3.312000274658203,
+ 3.3439998626708984,
+ 3.1090002059936523
+ ],
+ "yaxis": "y2"
+ },
+ {
+ "marker": {
+ "color": "black"
+ },
+ "mode": "lines",
+ "name": "markers",
+ "showlegend": false,
+ "type": "scatter",
+ "x": [
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11
+ ],
+ "xaxis": "x2",
+ "y": [
+ -2.7019999027252197,
+ -2.740000009536743,
+ -2.8429999351501465,
+ -2.9140000343322754,
+ -2.8459999561309814,
+ -2.759000062942505,
+ -2.6540000438690186,
+ -2.5320000648498535,
+ -2.3969998359680176,
+ -2.259999990463257,
+ -2.180000066757202
+ ],
+ "yaxis": "y2"
+ },
+ {
+ "marker": {
+ "color": "black"
+ },
+ "mode": "lines",
+ "name": "markers",
+ "showlegend": false,
+ "type": "scatter",
+ "x": [
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11
+ ],
+ "xaxis": "x2",
+ "y": [
+ -0.14599990844726562,
+ -0.19099998474121094,
+ -0.370999813079834,
+ -0.7300000190734863,
+ -1.130000114440918,
+ -1.5500001907348633,
+ -1.9779999256134033,
+ -2.4070000648498535,
+ -2.3969998359680176,
+ -2.259000062942505,
+ -2.180000066757202
+ ],
+ "yaxis": "y2"
+ },
+ {
+ "marker": {
+ "color": "black"
+ },
+ "mode": "lines",
+ "name": "markers",
+ "showlegend": false,
+ "type": "scatter",
+ "x": [
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11
+ ],
+ "xaxis": "x2",
+ "y": [
+ -0.14499998092651367,
+ -0.19000005722045898,
+ -0.315000057220459,
+ -0.4930000305175781,
+ -0.7039999961853027,
+ -0.9289999008178711,
+ -1.1570000648498535,
+ -1.379000186920166,
+ -1.5889997482299805,
+ -1.7719998359680176,
+ -1.8659999370574951
+ ],
+ "yaxis": "y2"
+ },
+ {
+ "marker": {
+ "color": "black"
+ },
+ "mode": "lines",
+ "name": "markers",
+ "showlegend": false,
+ "type": "scatter",
+ "x": [
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11
+ ],
+ "xaxis": "x2",
+ "y": [
+ 0,
+ -0.10300016403198242,
+ -0.31400012969970703,
+ -0.4930000305175781,
+ -0.7030000686645508,
+ -0.9279999732971191,
+ -1.1560001373291016,
+ -1.379000186920166,
+ -1.5889997482299805,
+ -1.7719998359680176,
+ -1.8659999370574951
+ ],
+ "yaxis": "y2"
+ },
+ {
+ "marker": {
+ "color": "red"
+ },
+ "mode": "markers",
+ "name": "markers",
+ "showlegend": false,
+ "type": "scatter",
+ "x": [
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11
+ ],
+ "xaxis": "x2",
+ "y": [
+ 0.4134103872559287,
+ 0.41232823121427287,
+ 0.39799869963617035,
+ 0.3684899126640474,
+ 0.36472852964593905,
+ 0.3857752957729378,
+ 0.4305480224917633,
+ 0.4950518114398224,
+ 0.5758574785608234,
+ 0.6574697554713548,
+ 0.6998435596022943
+ ],
+ "yaxis": "y2"
+ },
+ {
+ "marker": {
+ "color": "red"
+ },
+ "mode": "markers",
+ "name": "markers",
+ "showlegend": false,
+ "type": "scatter",
+ "x": [
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11
+ ],
+ "xaxis": "x2",
+ "y": [
+ 0.5142979471370427,
+ 0.5464810421972564,
+ 0.6978838817037717,
+ 0.9463876244997738,
+ 1.1951781890609048,
+ 1.3814607816513138,
+ 1.4621250424722227,
+ 1.3778017921881243,
+ 1.2419331338670518,
+ 1.1188673732256649,
+ 1.0614673128031722
+ ],
+ "yaxis": "y2"
+ },
+ {
+ "marker": {
+ "color": "red"
+ },
+ "mode": "markers",
+ "name": "markers",
+ "showlegend": false,
+ "type": "scatter",
+ "x": [
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11
+ ],
+ "xaxis": "x2",
+ "y": [
+ -0.14900764431616273,
+ -0.19535343454341697,
+ -0.32042549114034635,
+ -0.5001501338650481,
+ -0.710458264206395,
+ -0.9356704552968343,
+ -1.1638800700505574,
+ -1.3871212752178461,
+ -1.597828287969936,
+ -1.7831565066419466,
+ -1.8835529700072124
+ ],
+ "yaxis": "y2"
+ },
+ {
+ "marker": {
+ "color": "red"
+ },
+ "mode": "markers",
+ "name": "markers",
+ "showlegend": false,
+ "type": "scatter",
+ "x": [
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11
+ ],
+ "xaxis": "x2",
+ "y": [
+ 0,
+ -0.09682579955669364,
+ -0.3044178672511168,
+ -0.4940782671022897,
+ -0.7042424251334836,
+ -0.9289380721371583,
+ -1.1561743291941555,
+ -1.3774392917902782,
+ -1.585006328845265,
+ -1.7635870602997867,
+ -1.8543572741927523
+ ],
+ "yaxis": "y2"
+ },
+ {
+ "marker": {
+ "color": "blue"
+ },
+ "mode": "markers",
+ "name": "markers",
+ "showlegend": false,
+ "type": "scatter",
+ "x": [
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11
+ ],
+ "xaxis": "x2",
+ "y": [
+ 0.3509269058704376,
+ 0.3960448205471039,
+ 0.4706715941429138,
+ 0.5473999977111816,
+ 0.5634896159172058,
+ 0.5862775444984436,
+ 0.6290913820266724,
+ 0.6894845962524414,
+ 0.756218433380127,
+ 0.8233209252357483,
+ 0.8553644418716431
+ ],
+ "yaxis": "y2"
+ },
+ {
+ "marker": {
+ "color": "blue"
+ },
+ "mode": "markers",
+ "name": "markers",
+ "showlegend": false,
+ "type": "scatter",
+ "x": [
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11
+ ],
+ "xaxis": "x2",
+ "y": [
+ 0.4787784814834595,
+ 0.5364609956741333,
+ 0.6600321531295776,
+ 0.915432333946228,
+ 1.1826930046081543,
+ 1.4425299167633057,
+ 1.5780549049377441,
+ 1.540902853012085,
+ 1.4370265007019043,
+ 1.342199444770813,
+ 1.298526406288147
+ ],
+ "yaxis": "y2"
+ },
+ {
+ "marker": {
+ "color": "blue"
+ },
+ "mode": "markers",
+ "name": "markers",
+ "showlegend": false,
+ "type": "scatter",
+ "x": [
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11
+ ],
+ "xaxis": "x2",
+ "y": [
+ -0.058823585510253906,
+ -0.10788238048553467,
+ -0.23852920532226562,
+ -0.4229997992515564,
+ -0.6380578279495239,
+ -0.8666466474533081,
+ -1.0972938537597656,
+ -1.3220583200454712,
+ -1.5344104766845703,
+ -1.723353385925293,
+ -1.8318228721618652
+ ],
+ "yaxis": "y2"
+ },
+ {
+ "marker": {
+ "color": "blue"
+ },
+ "mode": "markers",
+ "name": "markers",
+ "showlegend": false,
+ "type": "scatter",
+ "x": [
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11
+ ],
+ "xaxis": "x2",
+ "y": [
+ 2.384185791015625e-07,
+ -0.07094085216522217,
+ -0.2199997901916504,
+ -0.41017627716064453,
+ -0.6239991188049316,
+ -0.8504111766815186,
+ -1.077823281288147,
+ -1.296940565109253,
+ -1.4993523359298706,
+ -1.6664843559265137,
+ -1.7460424900054932
+ ],
+ "yaxis": "y2"
+ },
+ {
+ "line": {
+ "color": "RoyalBlue",
+ "dash": "dot",
+ "width": 3
+ },
+ "mode": "lines",
+ "name": "markers",
+ "showlegend": false,
+ "type": "scatter",
+ "x": [
+ 1,
+ 11
+ ],
+ "xaxis": "x",
+ "y": [
+ 0,
+ 0
+ ],
+ "yaxis": "y"
+ },
+ {
+ "line": {
+ "color": "RoyalBlue",
+ "dash": "dot",
+ "width": 3
+ },
+ "mode": "lines",
+ "name": "markers",
+ "showlegend": false,
+ "type": "scatter",
+ "x": [
+ 1,
+ 11
+ ],
+ "xaxis": "x2",
+ "y": [
+ 0,
+ 0
+ ],
+ "yaxis": "y2"
+ },
+ {
+ "line": {
+ "color": "black"
+ },
+ "mode": "lines",
+ "name": "DFT-PBE",
+ "showlegend": true,
+ "type": "scatter",
+ "x": [
+ 12,
+ 13
+ ],
+ "xaxis": "x",
+ "y": [
+ 0,
+ 0
+ ],
+ "yaxis": "y"
+ },
+ {
+ "line": {
+ "color": "red"
+ },
+ "mode": "markers",
+ "name": "RandomForest",
+ "showlegend": true,
+ "type": "scatter",
+ "x": [
+ 12
+ ],
+ "xaxis": "x",
+ "y": [
+ 0
+ ],
+ "yaxis": "y"
+ },
+ {
+ "line": {
+ "color": "blue"
+ },
+ "mode": "markers",
+ "name": "MultiOutputRegressor-XGBoost",
+ "showlegend": true,
+ "type": "scatter",
+ "x": [
+ 12
+ ],
+ "xaxis": "x",
+ "y": [
+ 0
+ ],
+ "yaxis": "y"
+ }
+ ],
+ "layout": {
+ "annotations": [
+ {
+ "font": {
+ "size": 16
+ },
+ "showarrow": false,
+ "text": "Si2Ge2 strain 2.5%",
+ "x": 0.225,
+ "xanchor": "center",
+ "xref": "paper",
+ "y": 1,
+ "yanchor": "bottom",
+ "yref": "paper"
+ },
+ {
+ "font": {
+ "size": 16
+ },
+ "showarrow": false,
+ "text": "Si3Ge1 strain 3%",
+ "x": 0.775,
+ "xanchor": "center",
+ "xref": "paper",
+ "y": 1,
+ "yanchor": "bottom",
+ "yref": "paper"
+ }
+ ],
+ "height": 650,
+ "plot_bgcolor": "white",
+ "template": {
+ "data": {
+ "bar": [
+ {
+ "error_x": {
+ "color": "#2a3f5f"
+ },
+ "error_y": {
+ "color": "#2a3f5f"
+ },
+ "marker": {
+ "line": {
+ "color": "#E5ECF6",
+ "width": 0.5
+ }
+ },
+ "type": "bar"
+ }
+ ],
+ "barpolar": [
+ {
+ "marker": {
+ "line": {
+ "color": "#E5ECF6",
+ "width": 0.5
+ }
+ },
+ "type": "barpolar"
+ }
+ ],
+ "carpet": [
+ {
+ "aaxis": {
+ "endlinecolor": "#2a3f5f",
+ "gridcolor": "white",
+ "linecolor": "white",
+ "minorgridcolor": "white",
+ "startlinecolor": "#2a3f5f"
+ },
+ "baxis": {
+ "endlinecolor": "#2a3f5f",
+ "gridcolor": "white",
+ "linecolor": "white",
+ "minorgridcolor": "white",
+ "startlinecolor": "#2a3f5f"
+ },
+ "type": "carpet"
+ }
+ ],
+ "choropleth": [
+ {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ },
+ "type": "choropleth"
+ }
+ ],
+ "contour": [
+ {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ },
+ "colorscale": [
+ [
+ 0,
+ "#0d0887"
+ ],
+ [
+ 0.1111111111111111,
+ "#46039f"
+ ],
+ [
+ 0.2222222222222222,
+ "#7201a8"
+ ],
+ [
+ 0.3333333333333333,
+ "#9c179e"
+ ],
+ [
+ 0.4444444444444444,
+ "#bd3786"
+ ],
+ [
+ 0.5555555555555556,
+ "#d8576b"
+ ],
+ [
+ 0.6666666666666666,
+ "#ed7953"
+ ],
+ [
+ 0.7777777777777778,
+ "#fb9f3a"
+ ],
+ [
+ 0.8888888888888888,
+ "#fdca26"
+ ],
+ [
+ 1,
+ "#f0f921"
+ ]
+ ],
+ "type": "contour"
+ }
+ ],
+ "contourcarpet": [
+ {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ },
+ "type": "contourcarpet"
+ }
+ ],
+ "heatmap": [
+ {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ },
+ "colorscale": [
+ [
+ 0,
+ "#0d0887"
+ ],
+ [
+ 0.1111111111111111,
+ "#46039f"
+ ],
+ [
+ 0.2222222222222222,
+ "#7201a8"
+ ],
+ [
+ 0.3333333333333333,
+ "#9c179e"
+ ],
+ [
+ 0.4444444444444444,
+ "#bd3786"
+ ],
+ [
+ 0.5555555555555556,
+ "#d8576b"
+ ],
+ [
+ 0.6666666666666666,
+ "#ed7953"
+ ],
+ [
+ 0.7777777777777778,
+ "#fb9f3a"
+ ],
+ [
+ 0.8888888888888888,
+ "#fdca26"
+ ],
+ [
+ 1,
+ "#f0f921"
+ ]
+ ],
+ "type": "heatmap"
+ }
+ ],
+ "heatmapgl": [
+ {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ },
+ "colorscale": [
+ [
+ 0,
+ "#0d0887"
+ ],
+ [
+ 0.1111111111111111,
+ "#46039f"
+ ],
+ [
+ 0.2222222222222222,
+ "#7201a8"
+ ],
+ [
+ 0.3333333333333333,
+ "#9c179e"
+ ],
+ [
+ 0.4444444444444444,
+ "#bd3786"
+ ],
+ [
+ 0.5555555555555556,
+ "#d8576b"
+ ],
+ [
+ 0.6666666666666666,
+ "#ed7953"
+ ],
+ [
+ 0.7777777777777778,
+ "#fb9f3a"
+ ],
+ [
+ 0.8888888888888888,
+ "#fdca26"
+ ],
+ [
+ 1,
+ "#f0f921"
+ ]
+ ],
+ "type": "heatmapgl"
+ }
+ ],
+ "histogram": [
+ {
+ "marker": {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ }
+ },
+ "type": "histogram"
+ }
+ ],
+ "histogram2d": [
+ {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ },
+ "colorscale": [
+ [
+ 0,
+ "#0d0887"
+ ],
+ [
+ 0.1111111111111111,
+ "#46039f"
+ ],
+ [
+ 0.2222222222222222,
+ "#7201a8"
+ ],
+ [
+ 0.3333333333333333,
+ "#9c179e"
+ ],
+ [
+ 0.4444444444444444,
+ "#bd3786"
+ ],
+ [
+ 0.5555555555555556,
+ "#d8576b"
+ ],
+ [
+ 0.6666666666666666,
+ "#ed7953"
+ ],
+ [
+ 0.7777777777777778,
+ "#fb9f3a"
+ ],
+ [
+ 0.8888888888888888,
+ "#fdca26"
+ ],
+ [
+ 1,
+ "#f0f921"
+ ]
+ ],
+ "type": "histogram2d"
+ }
+ ],
+ "histogram2dcontour": [
+ {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ },
+ "colorscale": [
+ [
+ 0,
+ "#0d0887"
+ ],
+ [
+ 0.1111111111111111,
+ "#46039f"
+ ],
+ [
+ 0.2222222222222222,
+ "#7201a8"
+ ],
+ [
+ 0.3333333333333333,
+ "#9c179e"
+ ],
+ [
+ 0.4444444444444444,
+ "#bd3786"
+ ],
+ [
+ 0.5555555555555556,
+ "#d8576b"
+ ],
+ [
+ 0.6666666666666666,
+ "#ed7953"
+ ],
+ [
+ 0.7777777777777778,
+ "#fb9f3a"
+ ],
+ [
+ 0.8888888888888888,
+ "#fdca26"
+ ],
+ [
+ 1,
+ "#f0f921"
+ ]
+ ],
+ "type": "histogram2dcontour"
+ }
+ ],
+ "mesh3d": [
+ {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ },
+ "type": "mesh3d"
+ }
+ ],
+ "parcoords": [
+ {
+ "line": {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ }
+ },
+ "type": "parcoords"
+ }
+ ],
+ "pie": [
+ {
+ "automargin": true,
+ "type": "pie"
+ }
+ ],
+ "scatter": [
+ {
+ "marker": {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ }
+ },
+ "type": "scatter"
+ }
+ ],
+ "scatter3d": [
+ {
+ "line": {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ }
+ },
+ "marker": {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ }
+ },
+ "type": "scatter3d"
+ }
+ ],
+ "scattercarpet": [
+ {
+ "marker": {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ }
+ },
+ "type": "scattercarpet"
+ }
+ ],
+ "scattergeo": [
+ {
+ "marker": {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ }
+ },
+ "type": "scattergeo"
+ }
+ ],
+ "scattergl": [
+ {
+ "marker": {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ }
+ },
+ "type": "scattergl"
+ }
+ ],
+ "scattermapbox": [
+ {
+ "marker": {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ }
+ },
+ "type": "scattermapbox"
+ }
+ ],
+ "scatterpolar": [
+ {
+ "marker": {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ }
+ },
+ "type": "scatterpolar"
+ }
+ ],
+ "scatterpolargl": [
+ {
+ "marker": {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ }
+ },
+ "type": "scatterpolargl"
+ }
+ ],
+ "scatterternary": [
+ {
+ "marker": {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ }
+ },
+ "type": "scatterternary"
+ }
+ ],
+ "surface": [
+ {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ },
+ "colorscale": [
+ [
+ 0,
+ "#0d0887"
+ ],
+ [
+ 0.1111111111111111,
+ "#46039f"
+ ],
+ [
+ 0.2222222222222222,
+ "#7201a8"
+ ],
+ [
+ 0.3333333333333333,
+ "#9c179e"
+ ],
+ [
+ 0.4444444444444444,
+ "#bd3786"
+ ],
+ [
+ 0.5555555555555556,
+ "#d8576b"
+ ],
+ [
+ 0.6666666666666666,
+ "#ed7953"
+ ],
+ [
+ 0.7777777777777778,
+ "#fb9f3a"
+ ],
+ [
+ 0.8888888888888888,
+ "#fdca26"
+ ],
+ [
+ 1,
+ "#f0f921"
+ ]
+ ],
+ "type": "surface"
+ }
+ ],
+ "table": [
+ {
+ "cells": {
+ "fill": {
+ "color": "#EBF0F8"
+ },
+ "line": {
+ "color": "white"
+ }
+ },
+ "header": {
+ "fill": {
+ "color": "#C8D4E3"
+ },
+ "line": {
+ "color": "white"
+ }
+ },
+ "type": "table"
+ }
+ ]
+ },
+ "layout": {
+ "annotationdefaults": {
+ "arrowcolor": "#2a3f5f",
+ "arrowhead": 0,
+ "arrowwidth": 1
+ },
+ "coloraxis": {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ }
+ },
+ "colorscale": {
+ "diverging": [
+ [
+ 0,
+ "#8e0152"
+ ],
+ [
+ 0.1,
+ "#c51b7d"
+ ],
+ [
+ 0.2,
+ "#de77ae"
+ ],
+ [
+ 0.3,
+ "#f1b6da"
+ ],
+ [
+ 0.4,
+ "#fde0ef"
+ ],
+ [
+ 0.5,
+ "#f7f7f7"
+ ],
+ [
+ 0.6,
+ "#e6f5d0"
+ ],
+ [
+ 0.7,
+ "#b8e186"
+ ],
+ [
+ 0.8,
+ "#7fbc41"
+ ],
+ [
+ 0.9,
+ "#4d9221"
+ ],
+ [
+ 1,
+ "#276419"
+ ]
+ ],
+ "sequential": [
+ [
+ 0,
+ "#0d0887"
+ ],
+ [
+ 0.1111111111111111,
+ "#46039f"
+ ],
+ [
+ 0.2222222222222222,
+ "#7201a8"
+ ],
+ [
+ 0.3333333333333333,
+ "#9c179e"
+ ],
+ [
+ 0.4444444444444444,
+ "#bd3786"
+ ],
+ [
+ 0.5555555555555556,
+ "#d8576b"
+ ],
+ [
+ 0.6666666666666666,
+ "#ed7953"
+ ],
+ [
+ 0.7777777777777778,
+ "#fb9f3a"
+ ],
+ [
+ 0.8888888888888888,
+ "#fdca26"
+ ],
+ [
+ 1,
+ "#f0f921"
+ ]
+ ],
+ "sequentialminus": [
+ [
+ 0,
+ "#0d0887"
+ ],
+ [
+ 0.1111111111111111,
+ "#46039f"
+ ],
+ [
+ 0.2222222222222222,
+ "#7201a8"
+ ],
+ [
+ 0.3333333333333333,
+ "#9c179e"
+ ],
+ [
+ 0.4444444444444444,
+ "#bd3786"
+ ],
+ [
+ 0.5555555555555556,
+ "#d8576b"
+ ],
+ [
+ 0.6666666666666666,
+ "#ed7953"
+ ],
+ [
+ 0.7777777777777778,
+ "#fb9f3a"
+ ],
+ [
+ 0.8888888888888888,
+ "#fdca26"
+ ],
+ [
+ 1,
+ "#f0f921"
+ ]
+ ]
+ },
+ "colorway": [
+ "#636efa",
+ "#EF553B",
+ "#00cc96",
+ "#ab63fa",
+ "#FFA15A",
+ "#19d3f3",
+ "#FF6692",
+ "#B6E880",
+ "#FF97FF",
+ "#FECB52"
+ ],
+ "font": {
+ "color": "#2a3f5f"
+ },
+ "geo": {
+ "bgcolor": "white",
+ "lakecolor": "white",
+ "landcolor": "#E5ECF6",
+ "showlakes": true,
+ "showland": true,
+ "subunitcolor": "white"
+ },
+ "hoverlabel": {
+ "align": "left"
+ },
+ "hovermode": "closest",
+ "mapbox": {
+ "style": "light"
+ },
+ "paper_bgcolor": "white",
+ "plot_bgcolor": "#E5ECF6",
+ "polar": {
+ "angularaxis": {
+ "gridcolor": "white",
+ "linecolor": "white",
+ "ticks": ""
+ },
+ "bgcolor": "#E5ECF6",
+ "radialaxis": {
+ "gridcolor": "white",
+ "linecolor": "white",
+ "ticks": ""
+ }
+ },
+ "scene": {
+ "xaxis": {
+ "backgroundcolor": "#E5ECF6",
+ "gridcolor": "white",
+ "gridwidth": 2,
+ "linecolor": "white",
+ "showbackground": true,
+ "ticks": "",
+ "zerolinecolor": "white"
+ },
+ "yaxis": {
+ "backgroundcolor": "#E5ECF6",
+ "gridcolor": "white",
+ "gridwidth": 2,
+ "linecolor": "white",
+ "showbackground": true,
+ "ticks": "",
+ "zerolinecolor": "white"
+ },
+ "zaxis": {
+ "backgroundcolor": "#E5ECF6",
+ "gridcolor": "white",
+ "gridwidth": 2,
+ "linecolor": "white",
+ "showbackground": true,
+ "ticks": "",
+ "zerolinecolor": "white"
+ }
+ },
+ "shapedefaults": {
+ "line": {
+ "color": "#2a3f5f"
+ }
+ },
+ "ternary": {
+ "aaxis": {
+ "gridcolor": "white",
+ "linecolor": "white",
+ "ticks": ""
+ },
+ "baxis": {
+ "gridcolor": "white",
+ "linecolor": "white",
+ "ticks": ""
+ },
+ "bgcolor": "#E5ECF6",
+ "caxis": {
+ "gridcolor": "white",
+ "linecolor": "white",
+ "ticks": ""
+ }
+ },
+ "title": {
+ "x": 0.05
+ },
+ "xaxis": {
+ "automargin": true,
+ "gridcolor": "white",
+ "linecolor": "white",
+ "ticks": "",
+ "title": {
+ "standoff": 15
+ },
+ "zerolinecolor": "white",
+ "zerolinewidth": 2
+ },
+ "yaxis": {
+ "automargin": true,
+ "gridcolor": "white",
+ "linecolor": "white",
+ "ticks": "",
+ "title": {
+ "standoff": 15
+ },
+ "zerolinecolor": "white",
+ "zerolinewidth": 2
+ }
+ }
+ },
+ "title": {
+ "text": "Si2Ge2 relaxed"
+ },
+ "width": 1000,
+ "xaxis": {
+ "anchor": "y",
+ "domain": [
+ 0,
+ 0.45
+ ],
+ "gridcolor": "lightgrey",
+ "gridwidth": 0.5,
+ "linecolor": "black",
+ "linewidth": 1,
+ "mirror": true,
+ "range": [
+ 1,
+ 11
+ ],
+ "showgrid": true,
+ "ticks": "inside",
+ "ticktext": [
+ "G",
+ "Z"
+ ],
+ "tickvals": [
+ 1,
+ 11
+ ]
+ },
+ "xaxis2": {
+ "anchor": "y2",
+ "domain": [
+ 0.55,
+ 1
+ ],
+ "gridcolor": "lightgrey",
+ "gridwidth": 0.5,
+ "linecolor": "black",
+ "linewidth": 1,
+ "mirror": true,
+ "range": [
+ 1,
+ 11
+ ],
+ "showgrid": true,
+ "ticks": "inside",
+ "ticktext": [
+ "G",
+ "Z"
+ ],
+ "tickvals": [
+ 1,
+ 11
+ ]
+ },
+ "yaxis": {
+ "anchor": "x",
+ "domain": [
+ 0,
+ 1
+ ],
+ "gridcolor": "lightgrey",
+ "gridwidth": 0.5,
+ "linecolor": "black",
+ "linewidth": 1,
+ "mirror": true,
+ "showgrid": true,
+ "ticks": "inside",
+ "title": {
+ "text": "Energy, eV"
+ }
+ },
+ "yaxis2": {
+ "anchor": "x2",
+ "domain": [
+ 0,
+ 1
+ ],
+ "gridcolor": "lightgrey",
+ "gridwidth": 0.5,
+ "linecolor": "black",
+ "linewidth": 1,
+ "mirror": true,
+ "showgrid": true,
+ "ticks": "inside",
+ "title": {
+ "text": "Energy, eV"
+ }
+ }
+ }
+ },
+ "text/html": [
+ "\n",
+ " \n",
+ " \n",
+ "
\n",
+ " \n",
+ "
"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "#reading calculated bands:\n",
+ "data=read_data('bands/si2ge2_relax.dat')\n",
+ "bands_si2ge2_relaxed=data.read_bands_ml(mode='Auto', bands_num=4)\n",
+ "bands_si2ge2_relaxed=bands_si2ge2_relaxed.reshape(8,11)\n",
+ "\n",
+ "data=read_data('bands/si3ge1_3.dat')\n",
+ "bands_si3ge1_3=data.read_bands_ml(mode='Auto', bands_num=4)\n",
+ "bands_si3ge1_3=bands_si3ge1_3.reshape(8,11)\n",
+ "\n",
+ "#predicted bands\n",
+ "bands_RF_1=y_predict_RF[0].reshape(4,11)\n",
+ "bands_RF_2=y_predict_RF[1].reshape(4,11)\n",
+ "\n",
+ "bands_XG_1=y_predict_XG[0].reshape(4,11)\n",
+ "bands_XG_2=y_predict_XG[0].reshape(4,11)\n",
+ "\n",
+ "fig = make_subplots(rows=1, cols=2,subplot_titles=(\"Si2Ge2 strain 2.5%\", \"Si3Ge1 strain 3%\"))\n",
+ "\n",
+ "for i in range(bands_si2ge2_relaxed.shape[0]):\n",
+ " fig.add_trace(go.Scatter(x=np.arange(1,12,1), y=bands_si2ge2_relaxed[i],\n",
+ " mode='lines', marker=dict(color='black'), showlegend=False, \n",
+ " name='markers'), row=1, col=1)\n",
+ " \n",
+ "for i in range(bands_RF_1.shape[0]):\n",
+ " fig.add_trace(go.Scatter(x=np.arange(1,12,1), y=bands_RF_1[i],\n",
+ " mode='markers', marker=dict(color='red'), showlegend=False, \n",
+ " name='markers'), row=1, col=1)\n",
+ "for i in range(bands_XG_1.shape[0]):\n",
+ " fig.add_trace(go.Scatter(x=np.arange(1,12,1), y=bands_XG_1[i],\n",
+ " mode='markers', marker=dict(color='blue'), showlegend=False, \n",
+ " name='markers'), row=1, col=1)\n",
+ "for i in range(bands_si3ge1_3.shape[0]):\n",
+ " fig.add_trace(go.Scatter(x=np.arange(1,12,1), y=bands_si3ge1_3[i],\n",
+ " mode='lines', marker=dict(color='black'), showlegend=False, \n",
+ " name='markers'), row=1, col=2)\n",
+ " \n",
+ "for i in range(bands_RF_2.shape[0]):\n",
+ " fig.add_trace(go.Scatter(x=np.arange(1,12,1), y=bands_RF_2[i],\n",
+ " mode='markers', marker=dict(color='red'), showlegend=False, \n",
+ " name='markers'), row=1, col=2) \n",
+ "for i in range(bands_XG_2.shape[0]):\n",
+ " fig.add_trace(go.Scatter(x=np.arange(1,12,1), y=bands_XG_2[i],\n",
+ " mode='markers', marker=dict(color='blue'), showlegend=False, \n",
+ " name='markers'), row=1, col=2) \n",
+ " \n",
+ " \n",
+ "fig.add_trace(go.Scatter(x=[1,11], y=[0,0],\n",
+ " mode='lines', line=dict(color= \"RoyalBlue\",width=3, dash='dot'), showlegend=False, \n",
+ " name='markers'), col=1, row=1) \n",
+ "fig.add_trace(go.Scatter(x=[1,11], y=[0,0],\n",
+ " mode='lines', line=dict(color= \"RoyalBlue\",width=3, dash='dot'), showlegend=False, \n",
+ " name='markers'),col=2, row=1) \n",
+ "\n",
+ "fig.add_trace(go.Scatter(x=[12,13], y=[0,0],\n",
+ " mode='lines', line=dict(color= \"black\"), showlegend=True, name='DFT-PBE', \n",
+ " ),col=1, row=1) \n",
+ "fig.add_trace(go.Scatter(x=[12], y=[0],\n",
+ " mode='markers', line=dict(color= \"red\"), showlegend=True, name='RandomForest', \n",
+ " ),col=1, row=1) \n",
+ "fig.add_trace(go.Scatter(x=[12], y=[0],\n",
+ " mode='markers', line=dict(color= \"blue\"), showlegend=True, name='MultiOutputRegressor-XGBoost', \n",
+ " ),col=1, row=1) \n",
+ "\n",
+ "fig.update_xaxes(showgrid=True, \n",
+ " gridwidth=0.5, \n",
+ " gridcolor='lightgrey', \n",
+ " ticks='inside' , \n",
+ " linecolor= 'black', \n",
+ " linewidth= 1,\n",
+ " mirror= True,\n",
+ " ticktext=['G', 'Z'],\n",
+ " tickvals=[1,11],\n",
+ " range=[1,11]\n",
+ " )\n",
+ "fig.update_yaxes(title='Energy, eV', \n",
+ " showgrid=True, \n",
+ " gridwidth=0.5, \n",
+ " gridcolor='lightgrey', \n",
+ " ticks='inside' , \n",
+ " linecolor= 'black',\n",
+ " linewidth= 1,\n",
+ " mirror= True,\n",
+ " )\n",
+ "fig.update_layout(title='Si2Ge2 relaxed', width=1000, height=650, plot_bgcolor='white')\n",
+ "fig.show()"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# example of solving reverse problem "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 25,
+ "metadata": {
+ "ExecuteTime": {
+ "end_time": "2021-10-29T01:59:48.099554Z",
+ "start_time": "2021-10-29T01:59:31.248745Z"
+ }
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Lattice parameters:[10.65961975 10.68515307 0.5 ]\n",
+ "MSE: 0.0007605645516181882\n"
+ ]
+ }
+ ],
+ "source": [
+ "# in this example we predict lattice constants for a given bandstructure (lattice constants are in bohr)\n",
+ "\n",
+ "import GPyOpt\n",
+ "from GPyOpt.methods import BayesianOptimization\n",
+ "from sklearn.metrics import mean_squared_error\n",
+ "\n",
+ "data=read_data('bands/si2ge2_relax.dat')\n",
+ "bands=data.read_bands_ml(mode='Auto', bands_num=2)\n",
+ "\n",
+ "\n",
+ "def objfunc(x):\n",
+ "\n",
+ " x1 = float(x[0,0])\n",
+ " x2 = float(x[0,1])\n",
+ " x3 = float(x[0,2])\n",
+ "\n",
+ " return mean_squared_error(regressorRF.predict([[x1,x2,x3]]).reshape(1,44), bands.reshape(1,44))\n",
+ "\n",
+ "maxiter = 40\n",
+ "domain = [\n",
+ " {'name': 'a_paral', 'type': 'continuous', 'domain': (10, 11)},\n",
+ " {'name': 'a_perp', 'type': 'continuous', 'domain': (10, 11)},\n",
+ " {'name': 'composition', 'type': 'discrete', 'domain': (0.25,0.5,0.75)}\n",
+ " ]\n",
+ "\n",
+ "\n",
+ "\n",
+ "Bopt = GPyOpt.methods.BayesianOptimization(objfunc, domain=domain)\n",
+ "Bopt.run_optimization(max_iter = maxiter)\n",
+ "\n",
+ "print(\"Lattice parameters:\"+str(Bopt.x_opt)) \n",
+ "print(\"MSE: \"+str(Bopt.fx_opt)) \n",
+ "\n",
+ "\"\"\"\n",
+ "I will explain this part on Monaday \n",
+ "\"\"\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example with random split 80/20"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 13,
+ "metadata": {
+ "ExecuteTime": {
+ "end_time": "2021-10-29T20:31:04.464351Z",
+ "start_time": "2021-10-29T20:30:58.797072Z"
+ }
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Time taken for RF: 0:00:05.627278\n",
+ "Train:\n",
+ "R^2:0.91 RMSE:0.03\n",
+ "Test:\n",
+ "R^2:0.99 RMSE: 0.07\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "C:\\Users\\exx\\Anaconda3\\envs\\tensorflow\\lib\\site-packages\\sklearn\\base.py:434: FutureWarning:\n",
+ "\n",
+ "The default value of multioutput (not exposed in score method) will change from 'variance_weighted' to 'uniform_average' in 0.23 to keep consistent with 'metrics.r2_score'. To specify the default value manually and avoid the warning, please either call 'metrics.r2_score' directly or make a custom scorer with 'metrics.make_scorer' (the built-in scorer 'r2' uses multioutput='uniform_average').\n",
+ "\n"
+ ]
+ }
+ ],
+ "source": [
+ "# one more example to train model with a random split 80/20\n",
+ "my_data=data_preparation(X,y)\n",
+ "#random split could also be used\n",
+ "(X_train, X_test, Y_train, Y_test)=my_data.random_split(train_split=0.8, seed=42)\n",
+ "\n",
+ "my_model=modeling(X_train, Y_train, X_test, Y_test, scaler='None')\n",
+ "\n",
+ "#train Random forest model with No initial guess\n",
+ "(y_fit_RF, y_predict_RF, trials_RF, best_space_RF, regressorRF, text_RF)=my_model.RandomForest( max_evals=12, timeout=150*60,loss_threshold=0.01, cv=5, verbose=1)\n",
+ "\n",
+ "print(text_RF)\n",
+ "\n",
+ "# 20% of structures are predicted with a high accuracy\n"
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 3",
+ "language": "python",
+ "name": "python3"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 3
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython3",
+ "version": "3.6.10"
+ },
+ "varInspector": {
+ "cols": {
+ "lenName": 16,
+ "lenType": 16,
+ "lenVar": 40
+ },
+ "kernels_config": {
+ "python": {
+ "delete_cmd_postfix": "",
+ "delete_cmd_prefix": "del ",
+ "library": "var_list.py",
+ "varRefreshCmd": "print(var_dic_list())"
+ },
+ "r": {
+ "delete_cmd_postfix": ") ",
+ "delete_cmd_prefix": "rm(",
+ "library": "var_list.r",
+ "varRefreshCmd": "cat(var_dic_list()) "
+ }
+ },
+ "types_to_exclude": [
+ "module",
+ "function",
+ "builtin_function_or_method",
+ "instance",
+ "_Feature"
+ ],
+ "window_display": false
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 4
+}
diff --git a/vitalypro/code_implementation_example.py b/vitalypro/code_implementation_example.py
new file mode 100644
index 00000000..c3fe7636
--- /dev/null
+++ b/vitalypro/code_implementation_example.py
@@ -0,0 +1,415 @@
+#!/usr/bin/env python
+# coding: utf-8
+
+# In[1]:
+
+
+#load some modules
+from ml_modeling_module import *
+from os import walk
+import plotly.graph_objects as go
+from plotly.subplots import make_subplots
+
+
+# # first let's plot some sige bandstructures calculated with DFT
+
+# In[2]:
+
+
+### EXAMPLE OF READING DATA WITH MODE="FERMI" ###
+
+"""
+read QE output file with bands for 0% and 5% strain
+reshape data: 8 bands 11 k-points
+fermi level is manually specified
+"""
+data=read_data('bands/si2ge2_0.dat')
+si2ge2_0=data.read_bands_ml(mode='Fermi',fermi=6.18, bands_num=4)
+si2ge2_0=si2ge2_0.reshape(8,11)
+
+data=read_data('bands/si2ge2_5.dat')
+si2ge2_5=data.read_bands_ml(mode='Fermi',fermi=5.60, bands_num=4)
+si2ge2_5=si2ge2_5.reshape(8,11)
+
+fig = make_subplots(rows=1, cols=2,subplot_titles=("Si2Ge strain 0%", "Si2Ge2 strain 5%"))
+
+for i in range(si2ge2_0.shape[0]):
+ fig.add_trace(go.Scatter(x=np.arange(1,12,1), y=si2ge2_0[i],
+ mode='lines', marker=dict(color='black'), showlegend=False,
+ name='markers'), col=1, row=1)
+for i in range(si2ge2_5.shape[0]):
+ fig.add_trace(go.Scatter(x=np.arange(1,12,1), y=si2ge2_5[i],
+ mode='lines', marker=dict(color='black'), showlegend=False,
+ name='markers'), col=2, row=1)
+
+
+fig.add_trace(go.Scatter(x=[1,11], y=[0,0],
+ mode='lines', line=dict(color= "RoyalBlue",width=3, dash='dot'), showlegend=False,
+ name='markers'), col=1, row=1)
+fig.add_trace(go.Scatter(x=[1,11], y=[0,0],
+ mode='lines', line=dict(color= "RoyalBlue",width=3, dash='dot'), showlegend=False,
+ name='markers'), col=2, row=1)
+fig.update_xaxes(showgrid=True,
+ gridwidth=0.5,
+ gridcolor='lightgrey',
+ ticks='inside' ,
+ linecolor= 'black',
+ linewidth= 1,
+ mirror= True,
+ ticktext=['G', 'Z'],
+ tickvals=[1,11],
+ range=[1,11],
+ )
+fig.update_yaxes(title='Energy, eV',
+ showgrid=True,
+ gridwidth=0.5,
+ gridcolor='lightgrey',
+ ticks='inside' ,
+ linecolor= 'black',
+ linewidth= 1,
+ mirror= True,
+ )
+
+fig.update_layout(width=900, height=650, plot_bgcolor='white')
+fig.show()
+
+"""
+I used only 11 k-points to produce these bandstructures,
+therefore, the bandstructures look a bit ugly
+We can see how conduction bands shift with applied strain
+"""
+
+
+# In[3]:
+
+
+### EXAMPLE OF READING DAT WITH MODE="Auto" ###
+
+"""
+read QE output file with bands for 0% and 5% strain and different composition
+reshape data: 8 bands 11 k-points
+In this case the fermi level is not specified,
+it is automatically placed at the top of the valence zone
+"""
+
+data=read_data('bands/si1ge3_0.dat')
+si1ge3_0=data.read_bands_ml(mode='Auto', bands_num=4)
+si1ge3_0=si1ge3_0.reshape(8,11)
+
+data=read_data('bands/si1ge3_5.dat')
+si1ge3_5=data.read_bands_ml(mode='Auto', bands_num=4)
+si1ge3_5=si1ge3_5.reshape(8,11)
+
+data=read_data('bands/si3ge1_0.dat')
+si3ge1_0=data.read_bands_ml(mode='Auto', bands_num=4)
+si3ge1_0=si3ge1_0.reshape(8,11)
+
+data=read_data('bands/si3ge1_5.dat')
+si3ge1_5=data.read_bands_ml(mode='Auto', bands_num=4)
+si3ge1_5=si3ge1_5.reshape(8,11)
+
+
+fig = make_subplots(rows=2, cols=2,
+ subplot_titles=("Si1Ge3 strain 0%", " Si1G3 strain 5%", 'S3Ge1 strain 0%', 'Si3Ge1 strain 5%'),
+ vertical_spacing=0.04)
+
+for i in range(si3ge1_0.shape[0]):
+ fig.add_trace(go.Scatter(x=np.arange(1,12,1), y=si3ge1_0[i],
+ mode='lines', marker=dict(color='black'), showlegend=False,
+ name='markers'), col=1, row=1)
+for i in range(si3ge1_5.shape[0]):
+ fig.add_trace(go.Scatter(x=np.arange(1,12,1), y=si3ge1_5[i],
+ mode='lines', marker=dict(color='black'), showlegend=False,
+ name='markers'), col=2, row=1)
+for i in range(si1ge3_0.shape[0]):
+ fig.add_trace(go.Scatter(x=np.arange(1,12,1), y=si1ge3_0[i],
+ mode='lines', marker=dict(color='black'), showlegend=False,
+ name='markers'), col=1, row=2)
+for i in range(si1ge3_5.shape[0]):
+ fig.add_trace(go.Scatter(x=np.arange(1,12,1), y=si1ge3_5[i],
+ mode='lines', marker=dict(color='black'), showlegend=False,
+ name='markers'), col=2, row=2)
+
+fig.add_trace(go.Scatter(x=[1,11], y=[0,0],
+ mode='lines', line=dict(color= "RoyalBlue",width=3, dash='dot'), showlegend=False,
+ name='markers'), col=1, row=1)
+fig.add_trace(go.Scatter(x=[1,11], y=[0,0],
+ mode='lines', line=dict(color= "RoyalBlue",width=3, dash='dot'), showlegend=False,
+ name='markers'), col=2, row=1)
+fig.add_trace(go.Scatter(x=[1,11], y=[0,0],
+ mode='lines', line=dict(color= "RoyalBlue",width=3, dash='dot'), showlegend=False,
+ name='markers'), col=1, row=2)
+fig.add_trace(go.Scatter(x=[1,11], y=[0,0],
+ mode='lines', line=dict(color= "RoyalBlue",width=3, dash='dot'), showlegend=False,
+ name='markers'), col=2, row=2)
+fig.update_xaxes(showgrid=True,
+ gridwidth=0.5,
+ gridcolor='lightgrey',
+ ticks='inside' ,
+ linecolor= 'black',
+ linewidth= 1,
+ mirror= True,
+ ticktext=['G', 'Z'],
+ tickvals=[1,11],
+ range=[1,11],
+ )
+fig.update_yaxes(title='Energy, eV',
+ showgrid=True,
+ gridwidth=0.5,
+ gridcolor='lightgrey',
+ ticks='inside' ,
+ linecolor= 'black',
+ linewidth= 1,
+ mirror= True,
+ )
+
+fig.update_layout(width=900, height=1450, plot_bgcolor='white')
+fig.show()
+
+"""
+I used only 11 k-points to produce these bandstructures,
+therefore, the bandstructures look a bit ugly
+We can see how conduction bands shift with applied strain
+"""
+
+
+# In[4]:
+
+
+"""
+reading cell parameters from all QE output xlm files
+"""
+
+mypath='cell_param/'
+filenames = next(walk(mypath), (None, None, []))[2]
+
+lattice=[]
+fermi=[]
+for file in filenames:
+ data=read_data(mypath+file)
+ (a, c, composition) = data.read_lattice_parameters()
+ lattice.append ([a, c, composition])
+# Fermi energy could be obtained with:
+# fermi_level = data.read_fermi_levle()
+# fermi.append(fermi_level)
+
+X=lattice=np.array(lattice)
+
+X
+
+
+# In[36]:
+
+
+filenames
+
+
+# In[5]:
+
+
+'''
+reading bands from all QE output files
+(output files are produced with band.x module)
+'''
+
+mypath='bands/'
+filenames = next(walk(mypath), (None, None, []))[2]
+
+y=[]
+for i in range(len(filenames)):
+ data=read_data(mypath+filenames[i])
+ bands_ml=data.read_bands_ml(mode='Auto', bands_num=2)
+ y= np.append(y, bands_ml)
+y=y.reshape(len(filenames),44)
+y.shape
+
+
+# # prepare data for modeling: split for training and testig sets
+
+# In[8]:
+
+
+my_data=data_preparation(X,y)
+
+#to manually specify testing set, use the following:
+(X_train, X_test, Y_train, Y_test)=my_data.select_train_test(test_row_number=[12,16])
+# for a random split use function:
+#(X_train, X_test, Y_train, Y_test)=my_data.random_split(train_split=0.8, seed=42)
+
+my_model=modeling(X_train, Y_train, X_test, Y_test, scaler='None')
+
+#train Random forest model with No initial guess
+(y_fit_RF, y_predict_RF, trials_RF, best_space_RF, regressorRF, text_RF)=my_model.RandomForest( max_evals=12, timeout=150*60,loss_threshold=0.01, cv=5, verbose=1)
+
+print(text_RF)
+
+
+#
+
+
+# In[9]:
+
+
+## MultiOutputRegressor is VERY SLOW!
+## need more time to better understand MultiOutputRegressor
+
+#train XGboost model with initial guess
+best_space = {'alpha': 0.0, 'max_depth': 3.0, 'min_split_loss': 5.6, 'n_estimators': 100, 'x_reg_lambda': 1.00, 'x_subsample': 1.0}
+(y_fit_XG, y_predict_XG, trials_XG, best_space_XG, regressorXGB, text_XG)=my_model.XGB( max_evals=12, timeout=150*60,loss_threshold=0.01,cv=5, verbose=1, init_vals=[best_space])
+print(text_XG)
+
+
+# # let's plot predicted bands vs calculated bands
+
+# In[11]:
+
+
+#reading calculated bands:
+data=read_data('bands/si2ge2_relax.dat')
+bands_si2ge2_relaxed=data.read_bands_ml(mode='Auto', bands_num=4)
+bands_si2ge2_relaxed=bands_si2ge2_relaxed.reshape(8,11)
+
+data=read_data('bands/si3ge1_3.dat')
+bands_si3ge1_3=data.read_bands_ml(mode='Auto', bands_num=4)
+bands_si3ge1_3=bands_si3ge1_3.reshape(8,11)
+
+#predicted bands
+bands_RF_1=y_predict_RF[0].reshape(4,11)
+bands_RF_2=y_predict_RF[1].reshape(4,11)
+
+bands_XG_1=y_predict_XG[0].reshape(4,11)
+bands_XG_2=y_predict_XG[0].reshape(4,11)
+
+fig = make_subplots(rows=1, cols=2,subplot_titles=("Si2Ge2 strain 2.5%", "Si3Ge1 strain 3%"))
+
+for i in range(bands_si2ge2_relaxed.shape[0]):
+ fig.add_trace(go.Scatter(x=np.arange(1,12,1), y=bands_si2ge2_relaxed[i],
+ mode='lines', marker=dict(color='black'), showlegend=False,
+ name='markers'), row=1, col=1)
+
+for i in range(bands_RF_1.shape[0]):
+ fig.add_trace(go.Scatter(x=np.arange(1,12,1), y=bands_RF_1[i],
+ mode='markers', marker=dict(color='red'), showlegend=False,
+ name='markers'), row=1, col=1)
+for i in range(bands_XG_1.shape[0]):
+ fig.add_trace(go.Scatter(x=np.arange(1,12,1), y=bands_XG_1[i],
+ mode='markers', marker=dict(color='blue'), showlegend=False,
+ name='markers'), row=1, col=1)
+for i in range(bands_si3ge1_3.shape[0]):
+ fig.add_trace(go.Scatter(x=np.arange(1,12,1), y=bands_si3ge1_3[i],
+ mode='lines', marker=dict(color='black'), showlegend=False,
+ name='markers'), row=1, col=2)
+
+for i in range(bands_RF_2.shape[0]):
+ fig.add_trace(go.Scatter(x=np.arange(1,12,1), y=bands_RF_2[i],
+ mode='markers', marker=dict(color='red'), showlegend=False,
+ name='markers'), row=1, col=2)
+for i in range(bands_XG_2.shape[0]):
+ fig.add_trace(go.Scatter(x=np.arange(1,12,1), y=bands_XG_2[i],
+ mode='markers', marker=dict(color='blue'), showlegend=False,
+ name='markers'), row=1, col=2)
+
+
+fig.add_trace(go.Scatter(x=[1,11], y=[0,0],
+ mode='lines', line=dict(color= "RoyalBlue",width=3, dash='dot'), showlegend=False,
+ name='markers'), col=1, row=1)
+fig.add_trace(go.Scatter(x=[1,11], y=[0,0],
+ mode='lines', line=dict(color= "RoyalBlue",width=3, dash='dot'), showlegend=False,
+ name='markers'),col=2, row=1)
+
+fig.add_trace(go.Scatter(x=[12,13], y=[0,0],
+ mode='lines', line=dict(color= "black"), showlegend=True, name='DFT-PBE',
+ ),col=1, row=1)
+fig.add_trace(go.Scatter(x=[12], y=[0],
+ mode='markers', line=dict(color= "red"), showlegend=True, name='RandomForest',
+ ),col=1, row=1)
+fig.add_trace(go.Scatter(x=[12], y=[0],
+ mode='markers', line=dict(color= "blue"), showlegend=True, name='MultiOutputRegressor-XGBoost',
+ ),col=1, row=1)
+
+fig.update_xaxes(showgrid=True,
+ gridwidth=0.5,
+ gridcolor='lightgrey',
+ ticks='inside' ,
+ linecolor= 'black',
+ linewidth= 1,
+ mirror= True,
+ ticktext=['G', 'Z'],
+ tickvals=[1,11],
+ range=[1,11]
+ )
+fig.update_yaxes(title='Energy, eV',
+ showgrid=True,
+ gridwidth=0.5,
+ gridcolor='lightgrey',
+ ticks='inside' ,
+ linecolor= 'black',
+ linewidth= 1,
+ mirror= True,
+ )
+fig.update_layout(title='Si2Ge2 relaxed', width=1000, height=650, plot_bgcolor='white')
+fig.show()
+
+
+# # example of solving reverse problem
+
+# In[25]:
+
+
+# in this example we predict lattice constants for a given bandstructure (lattice constants are in bohr)
+
+import GPyOpt
+from GPyOpt.methods import BayesianOptimization
+from sklearn.metrics import mean_squared_error
+
+data=read_data('bands/si2ge2_relax.dat')
+bands=data.read_bands_ml(mode='Auto', bands_num=2)
+
+
+def objfunc(x):
+
+ x1 = float(x[0,0])
+ x2 = float(x[0,1])
+ x3 = float(x[0,2])
+
+ return mean_squared_error(regressorRF.predict([[x1,x2,x3]]).reshape(1,44), bands.reshape(1,44))
+
+maxiter = 40
+domain = [
+ {'name': 'a_paral', 'type': 'continuous', 'domain': (10, 11)},
+ {'name': 'a_perp', 'type': 'continuous', 'domain': (10, 11)},
+ {'name': 'composition', 'type': 'discrete', 'domain': (0.25,0.5,0.75)}
+ ]
+
+
+
+Bopt = GPyOpt.methods.BayesianOptimization(objfunc, domain=domain)
+Bopt.run_optimization(max_iter = maxiter)
+
+print("Lattice parameters:"+str(Bopt.x_opt))
+print("MSE: "+str(Bopt.fx_opt))
+
+"""
+I will explain this part on Monaday
+"""
+
+
+# # Example with random split 80/20
+
+# In[13]:
+
+
+# one more example to train model with a random split 80/20
+my_data=data_preparation(X,y)
+#random split could also be used
+(X_train, X_test, Y_train, Y_test)=my_data.random_split(train_split=0.8, seed=42)
+
+my_model=modeling(X_train, Y_train, X_test, Y_test, scaler='None')
+
+#train Random forest model with No initial guess
+(y_fit_RF, y_predict_RF, trials_RF, best_space_RF, regressorRF, text_RF)=my_model.RandomForest( max_evals=12, timeout=150*60,loss_threshold=0.01, cv=5, verbose=1)
+
+print(text_RF)
+
+# 20% of structures are predicted with a high accuracy
+
diff --git a/vitalypro/ml model performance.png b/vitalypro/ml model performance.png
new file mode 100644
index 00000000..9878eeab
Binary files /dev/null and b/vitalypro/ml model performance.png differ
diff --git a/vitalypro/ml_modeling_module.py b/vitalypro/ml_modeling_module.py
new file mode 100644
index 00000000..4b5905b3
--- /dev/null
+++ b/vitalypro/ml_modeling_module.py
@@ -0,0 +1,381 @@
+# -*- coding: utf-8 -*-
+"""
+@author: Vitaly Proshchenko
+"""
+
+from datetime import datetime
+from hyperopt import hp, fmin, tpe, STATUS_OK, Trials, space_eval
+from hyperopt.fmin import generate_trials_to_calculate
+from sklearn.model_selection import cross_val_score
+from functools import partial
+import numpy as np
+
+
+
+"""
+1. class for data (energy bands, cell geometry etc) extraction from QE output files
+2. class for data preparation for ML modeling
+3. class for ML modeling with RF and XGB
+
+"""
+class read_data:
+
+ """
+ In this module we read data from QE output and build a dataset for ML modeling
+ 1. read energy band data from output produced by bands.x
+ 2. read structure parameters and fermi level from xlm file
+ In future work this module can be improved to read data from VASP and other modeling software
+ """
+ def __init__(self, file):
+ self.file = file
+
+
+
+ def read_bands_ml(self, mode='Fermi', fermi=0, bands_num=2, npl=10):
+ """
+ This function reads energy bands from QE output file produced by band.x.
+ I found this code here https://github.com/yyyu200/QEbandplot/blob/master/pw_band_plot.py
+ Modifications I made to the code:
+ - bands get adjusted with respect to the fermi level
+ - print only first n valence and n conduction bands above/below the fermi level
+ :mode - 'Fermi': user provides fermi level and bands get adjusted with respect to this level
+ - 'Auto' : the fermi level will be automatically placed at the top of the conduction zone.
+ this option can be useful is the fermi level is unknown or calculated on a large mesh (my case)
+ :fermi - fermi level (eV) (will be ignored if mode='Auto' is used.
+ :bands_num - number of valence/conduction bands near fermi level to print
+
+ """
+ # feig : filband in bands.x input file
+ # npl : number per line, 10 for bands.x, 6 for phonon
+ import re
+ f=open(self.file,'r')
+ lines = f.readlines()
+
+ header = lines[0].strip()
+ line = header.strip('\n')
+ shape = re.split('[,=/]', line)
+ nbnd = int(shape[1])
+ nks = int(shape[3])
+ eig = np.zeros((nks, nbnd+1), dtype=np.float32)
+
+ dividend = nbnd
+ divisor = npl
+ div = nbnd // npl + 1 if nbnd % npl == 0 else nbnd // npl + 2
+ kinfo=[]
+ for index, value in enumerate(lines[1:]):
+ value = value.strip(' \n')
+ quotient = index // div
+ remainder = index % div
+
+ if remainder == 0:
+ kinfo.append(value)
+ else:
+ value = re.split('[ ]+', value)
+ a = (remainder - 1) * npl
+ b = a + len(value)
+ eig[quotient][a:b] = value
+
+ f.close()
+ if mode=='Fermi':
+ eig = eig -fermi
+ cond_bands=[]
+ val_bands=[]
+ for i in range(eig.shape[0]):
+ cond_bands=np.append(cond_bands, eig[i][eig[i]>0][:bands_num])
+ val_bands =np.append(val_bands,eig[i][eig[i]<0][-bands_num-1:-1])
+
+ cond_bands=cond_bands.reshape(11,bands_num).swapaxes(0,1)
+ val_bands=val_bands.reshape(11,bands_num).swapaxes(0,1)
+ bands=np.append(val_bands,cond_bands)
+ elif mode=='Auto':
+ """
+ For a general case, i would need to read QE output file or pseudopotential file to find out
+ how many valence electrons each atoms has and how many atoms of each type I have to count the number
+ of conduction bands. It can be done in the future work. In this work I only study SiGe systems. Both Si and Ge have
+ 4 val electrons. All my structures contain 8 atoms, so 4*8/2=16 conduction bands
+ number_cnb = 16
+ """
+ number_cnb = 16
+ cond_bands=[]
+ val_bands=[]
+ for i in range(eig.shape[0]):
+ cond_bands=np.append(cond_bands, eig[i][number_cnb-bands_num:number_cnb])
+ val_bands =np.append(val_bands,eig[i][number_cnb: number_cnb+bands_num])
+ fermi= np.max(cond_bands)
+ cond_bands=cond_bands-fermi
+ val_bands=val_bands-fermi
+ cond_bands=cond_bands.reshape(11,bands_num).swapaxes(0,1)
+ val_bands=val_bands.reshape(11,bands_num).swapaxes(0,1)
+ bands=np.append(val_bands,cond_bands)
+
+ return bands
+
+ def read_lattice_parameters(self):
+ """read lattice constants from xlm file"""
+ import xml.etree.ElementTree as ET
+ from collections import Counter
+ tree = ET.parse(self.file)
+ root = tree.getroot()
+ a = root[2][2][1][0].text
+ c = root[2][2][1][2].text
+ a = [float(value) for value in a.split(' ')]
+ c = [float(value) for value in c.split(' ')]
+
+ #read composition SixGe1-x
+ atom=[]
+ for i in range(8):
+ atom=np.append(atom,root[2][2][0][i].attrib['name'])
+ composition = int(Counter(atom)['Si'])/8
+
+ return a[0], c[2], composition
+
+ def read_fermi_levle(self):
+ import xml.etree.ElementTree as ET
+ tree = ET.parse(self.file)
+ root = tree.getroot()
+ """
+ read fermi level from xlm file
+ convert from Ry to eV and multiply by 2!!!
+ I am using qe 6.4 which has a bug for fermi level:
+
+ Fermi energy incorrectly written to xml file in 'bands' calculation
+ (did not affect results, just Fermi energy position in band plotting)
+ see for more info https://gitlab.com/QEF/q-e/-/releases
+
+ """
+ fermi_level=round(float(root[3][9][7].text)*2*13.605,2)
+ return fermi_level
+
+class data_preparation:
+
+ """
+ In this module we prepare data collected from QE output files for modeling.
+ The following functions split the data into training / testing sets.
+ """
+ def __init__(self, X, Y):
+ self.X = X
+ self.Y = Y
+
+ def random_split(self, train_split=0.8, seed=42):
+ """
+ random_split function allows to randomly select training and testing sets from the data.
+ :train_split - shows the ratio of train set to to the whole set in the split. Can be from 0 to 1. Defauls is 0.8
+ :seed is a random state for reproducibility
+ """
+ from sklearn.model_selection import train_test_split
+ X_train, X_test, Y_train, Y_test = train_test_split(self.X, self.Y, test_size=float(1-train_split), random_state=seed)
+ return X_train, X_test, Y_train, Y_test
+
+ def select_train_test(self, test_row_number=[5,6]):
+ """
+ select_train_test function allows to manually specify training and testing sets from the data.
+ :test_row_number is the number of rows that will be used for testing. The rest is training data
+
+ """
+ X_test = self.X[test_row_number]
+ Y_test = self.Y[test_row_number]
+ X_train = np.delete(self.X, test_row_number, 0)
+ Y_train = np.delete(self.Y, test_row_number, 0)
+ return X_train, X_test, Y_train, Y_test
+
+class modeling:
+ def __init__(self, X_train, Y_train, X_test, Y_test, scaler= 'None'):
+ """
+ since we use tree based ML algorithms,
+ there is no need to scale data (scaler='None').
+ In the future work scaler='minmax', 'standard' etc can be added for other ML algorithms
+
+ """
+ self.scaler = scaler
+ if scaler== 'None':
+ self.X_train = X_train
+ self.Y_train = Y_train
+ self.X_test = X_test
+ self.Y_test = Y_test
+
+ """ if scaler != 'None' -- perform data scaling"""
+
+
+ def verbose_output(self, model, y_fit, y_predict):
+ """ print train/test model scores if verbose output is chosen"""
+
+ from sklearn.metrics import mean_squared_error
+ from sklearn.metrics import r2_score
+
+ text=("\nTrain:\nR^2:"+str(round(model.score(self.X_train, self.Y_train),2))+
+ ' RMSE:'+str(round(np.sqrt(mean_squared_error(self.Y_train, y_fit, multioutput='uniform_average')),2))+
+ '\nTest:\nR^2:'+str(round(r2_score(self.Y_test.flatten(), y_predict.flatten(), multioutput='uniform_average'),2)) +
+ ' RMSE: '+str( round(np.sqrt(mean_squared_error(self.Y_test, y_predict)),2))
+ )
+ return text
+
+ def RandomForest(self, max_evals=40, timeout=600, loss_threshold=0.5, init_vals='None' , n_jobs=10, cv=5, verbose=1):
+ """
+ Random Forest Regressor with Sequential Model-based Optimization with Tree-Parzen estimators (Bayesian optimization)
+ The idea is to build a probability model of the objective function and use it to select the most promising hyperparameters to evaluate in the true objective function
+
+ :max_evals - number of max evaluation in hyperparameter search algorithm. The search will stop when the number of max itteration is reached. Can be any integer number. Default value is 40,
+ :timeout - search time. The search will stop when the time is out. Can be any integer number. Default value is 600 sec
+ :loss_threshold - the search will stop when the loss threshold is achieved. (in our case loss function is MSE). Can be any float number.
+ :init_vals - initial guess for the hyperparameter optimization search. Default - 'None'. Can be list of parameters such as n_estimators, max_depth etc.
+ :n_jobs - number of CPUs for parallelization = 10,
+ :cv - cross-validation. default = 5
+ :verbose - verbose output. Can be either 0 or 1.
+
+ """
+ from sklearn.ensemble import RandomForestRegressor
+ startTime = datetime.now()
+
+ def objective(space):
+ """Define our function"""
+ clf = RandomForestRegressor(n_estimators =int(space['n_estimators']),
+ random_state = int(space['random_state']),
+ max_depth = int(space['max_depth']),
+ min_samples_split = int(space['min_samples_split'])
+ )
+
+ """To reduce overfitting, we perform n-fold cross validation.
+ The goal is to minimize our loss function (MSE)"""
+ mse_scr = cross_val_score(clf, self.X_train, self.Y_train, scoring='neg_root_mean_squared_error', cv=cv,verbose=0,n_jobs=n_jobs).mean()
+
+ return {'loss': -mse_scr, 'status': STATUS_OK }
+
+ """Here we define the space for Random Forest model
+ More hyperparameters to build the space can be added in the future work """
+
+ space ={'max_depth': hp.quniform('max_depth', 1, 18, 1),
+ 'random_state' : hp.quniform('random_state', 1, 18, 1),
+ 'n_estimators' : hp.quniform('n_estimators', 10, 800, 1),
+ 'min_samples_split' : hp.quniform('min_samples_split', 1, 8, 1)
+ }
+
+ """ in case if we do not provide the initial guess for Random forest model,
+ we will first randomly pick 8 sets of hyperparameters (HPs) and build a probabalistic space.
+ The next HPs will be chosen based on probabalistic model
+ Otherwise, we will start with initial guess, then randomly pick 4 sets of HPs and initialize a probobalistic search
+ """
+ if init_vals=='None':
+ trials = Trials()
+ random=8
+ else:
+ trials = generate_trials_to_calculate(init_vals)
+ random=4
+ """Details for minimization """
+ best = fmin(fn=objective,
+ space=space,
+ algo=partial(tpe.suggest,n_startup_jobs=random),
+ max_evals=max_evals,
+ timeout=timeout,
+ loss_threshold=loss_threshold,
+ trials=trials,
+ show_progressbar=False)
+
+
+ best_space=space_eval(space, best)
+
+
+
+ RF = RandomForestRegressor(**{'max_depth': int(best['max_depth']),
+ 'n_estimators': int(best['n_estimators']),
+ 'random_state': int(best['random_state']),
+ 'min_samples_split': int(best['min_samples_split'])} ).fit(self.X_train, self.Y_train)
+
+
+ y_fit = RF.predict(self.X_train)
+ y_predict = RF.predict(self.X_test)
+
+ text=str("Time taken for RF: " + str(datetime.now() - startTime) )
+ if verbose==1:
+ text=str("Time taken for RF: " + str(datetime.now() - startTime) ) + str(modeling.verbose_output(self, RF, y_fit, y_predict))
+
+ return y_fit, y_predict, trials.trials, best_space, RF, text
+
+
+
+
+ def XGB(self, max_evals=40, timeout=600, loss_threshold=0.5, init_vals='None' , n_jobs=10, cv=5, verbose=1):
+
+
+ """
+ XGBoost does not support multi-output predictions. In this example I wanted to demonstrate one of the possible solutions
+ for energy bands prediction with ML methods like XGB.
+ For XGB model we wil use the same strategy as we used for Random forest model. In addtion we will apply sklearn MultiOutputRegressor
+ for multioutput predictions. This method is VERY SLOW...
+
+ """
+
+
+ import xgboost as xgb
+ from sklearn.multioutput import MultiOutputRegressor
+
+ startTime = datetime.now()
+
+ def objective(space):
+
+ clf = MultiOutputRegressor(xgb.XGBRegressor(n_estimators =int(space['n_estimators']),
+ learning_rate = .25,
+ max_depth = int(space['max_depth']),
+ subsample = space['x_subsample'],
+ alpha = space['alpha'],
+ reg_lambda = space['x_reg_lambda'],
+ min_split_loss = space['min_split_loss'],
+ objective='reg:squarederror'))
+
+
+ mse_scr = cross_val_score(clf, self.X_train, self.Y_train, scoring='neg_root_mean_squared_error', cv=5,verbose=0,n_jobs=n_jobs).mean()
+
+ return {'loss': -mse_scr, 'status': STATUS_OK }
+
+
+ space ={
+ 'max_depth': hp.quniform('max_depth', 1, 18, 1),
+ 'x_subsample': hp.quniform ('x_subsample', 0.2, 1, 0.02),
+ 'alpha' : hp.quniform ('alpha', 0.0, 0.6, 0.02),
+ 'x_reg_lambda' : hp.quniform ('x_reg_lambda', 0, 1, 0.02),
+ 'min_split_loss' : hp.quniform ('min_split_loss', 0, 8, 0.02),
+ 'n_estimators' : hp.quniform('n_estimators', 40, 800, 10)
+ }
+
+ if init_vals=='None':
+ trials = Trials()
+ random=8
+ else:
+ trials = generate_trials_to_calculate(init_vals)
+ random=4
+
+
+ best = fmin(fn=objective,
+ space=space,
+ algo=partial(tpe.suggest,n_startup_jobs=random),
+ max_evals=max_evals,
+ timeout=timeout,
+ loss_threshold=loss_threshold,
+ trials=trials,
+ show_progressbar=False)
+
+ best_space=space_eval(space, best)
+
+
+
+ regressorXGB = MultiOutputRegressor(xgb.XGBRegressor(**{'max_depth': int(best_space['max_depth']),
+ 'n_estimators': int(best_space['n_estimators']),
+ 'x_subsample': float(best_space['x_subsample']),
+ 'alpha': float(best_space['alpha']),
+ 'x_reg_lambda': float(best_space['x_reg_lambda']),
+ 'min_split_loss': float(best_space['min_split_loss']) },
+ objective='reg:squarederror')).fit(self.X_train, self.Y_train)
+
+ y_fit = regressorXGB.predict(self.X_train)
+ y_predict = regressorXGB.predict(self.X_test)
+
+ text=str("Time taken for XGB: " + str(datetime.now() - startTime) )
+ if verbose==1:
+ text=str("Time taken for XGB: " + str(datetime.now() - startTime) ) + str(modeling.verbose_output(self, regressorXGB, y_fit, y_predict))
+
+ return y_fit, y_predict, trials.trials, best_space, regressorXGB, text
+
+
+
+
+
+