from QATK.Calculators.DFT import *
from QATK.Core import *

# Set up lattice
vector_a = [7.680028171823331, 7.680028171823331, 0.0]*Angstrom
vector_b = [-7.680028171823331, 7.680028171823331, 0.0]*Angstrom
vector_c = [0.0, 0.0, 91.57810774492265]*Angstrom
lattice = UnitCell(vector_a, vector_b, vector_c)

# Define elements
elements = [Silicon, Silicon, Silicon, Silicon, Silicon, Silicon, Silicon,
            Silicon, Silicon, Silicon, Silicon, Silicon, Silicon, Silicon,
            Silicon, Silicon, Silicon, Silicon, Silicon, Silicon, Silicon,
            Silicon, Silicon, Silicon, Silicon, Silicon, Silicon, Silicon,
            Silicon, Silicon, Silicon, Silicon, Silicon, Silicon, Silicon,
            Silicon, Silicon, Silicon, Silicon, Silicon, Silicon, Silicon,
            Silicon, Silicon, Silicon, Silicon, Silicon, Silicon, Silicon,
            Silicon, Silicon, Silicon, Silicon, Silicon, Silicon, Silicon,
            Silicon, Silicon, Silicon, Silicon, Silicon, Silicon, Silicon,
            Silicon, Silicon, Silicon, Silicon, Silicon, Silicon, Silicon,
            Silicon, Silicon, Silicon, Silicon, Silicon, Silicon, Silicon,
            Silicon, Silicon, Silicon, Silicon, Silicon, Silicon, Silicon,
            Silicon, Silicon, Silicon, Silicon, Silicon, Silicon, Silicon,
            Silicon, Silicon, Silicon, Silicon, Silicon, Silicon, Silicon,
            Silicon, Silicon, Silicon, Oxygen, Oxygen, Oxygen, Oxygen, Oxygen,
            Oxygen, Oxygen, Oxygen, Oxygen, Oxygen, Silicon, Silicon, Silicon,
            Silicon, Silicon, Oxygen, Oxygen, Oxygen, Oxygen, Oxygen, Oxygen,
            Oxygen, Oxygen, Oxygen, Oxygen, Silicon, Silicon, Silicon, Silicon,
            Silicon, Oxygen, Oxygen, Oxygen, Oxygen, Oxygen, Oxygen, Oxygen,
            Oxygen, Oxygen, Oxygen, Silicon, Silicon, Silicon, Silicon,
            Silicon, Oxygen, Oxygen, Oxygen, Oxygen, Oxygen, Oxygen, Oxygen,
            Oxygen, Oxygen, Oxygen, Silicon, Silicon, Silicon, Silicon,
            Silicon, Oxygen, Oxygen, Oxygen, Oxygen, Oxygen, Oxygen, Oxygen,
            Oxygen, Oxygen, Oxygen, Silicon, Silicon, Silicon, Silicon,
            Silicon, Oxygen, Oxygen, Oxygen, Oxygen, Oxygen, Oxygen, Oxygen,
            Oxygen, Oxygen, Oxygen, Oxygen, Oxygen, Oxygen, Oxygen, Oxygen,
            Hafnium, Hafnium, Hafnium, Hafnium, Hafnium, Hafnium, Hafnium,
            Hafnium, Hafnium, Hafnium, Oxygen, Oxygen, Oxygen, Oxygen, Oxygen,
            Oxygen, Oxygen, Oxygen, Oxygen, Oxygen, Oxygen, Oxygen, Oxygen,
            Oxygen, Oxygen, Oxygen, Oxygen, Oxygen, Oxygen, Oxygen, Hafnium,
            Hafnium, Hafnium, Hafnium, Hafnium, Hafnium, Hafnium, Hafnium,
            Hafnium, Hafnium, Oxygen, Oxygen, Oxygen, Oxygen, Oxygen, Oxygen,
            Oxygen, Oxygen, Oxygen, Oxygen, Oxygen, Oxygen, Oxygen, Oxygen,
            Oxygen, Oxygen, Oxygen, Oxygen, Oxygen, Oxygen, Hafnium, Hafnium,
            Hafnium, Hafnium, Hafnium, Hafnium, Hafnium, Hafnium, Hafnium,
            Hafnium, Oxygen, Oxygen, Oxygen, Oxygen, Oxygen, Oxygen, Oxygen,
            Oxygen, Oxygen, Oxygen, Oxygen, Oxygen, Oxygen, Oxygen, Oxygen,
            Oxygen, Oxygen, Oxygen, Oxygen, Oxygen, Hafnium, Hafnium, Hafnium,
            Hafnium, Hafnium, Hafnium, Hafnium, Hafnium, Hafnium, Hafnium,
            Nitrogen, Nitrogen, Nitrogen, Nitrogen, Nitrogen, Nitrogen,
            Nitrogen, Nitrogen, Nitrogen, Nitrogen, Nitrogen, Nitrogen,
            Nitrogen, Nitrogen, Nitrogen, Titanium, Titanium, Titanium,
            Titanium, Titanium, Titanium, Titanium, Titanium, Titanium,
            Titanium, Titanium, Titanium, Titanium, Titanium, Titanium,
            Nitrogen, Nitrogen, Nitrogen, Nitrogen, Nitrogen, Nitrogen,
            Nitrogen, Nitrogen, Nitrogen, Nitrogen, Nitrogen, Nitrogen,
            Nitrogen, Nitrogen, Nitrogen, Titanium, Titanium, Titanium,
            Titanium, Titanium, Titanium, Titanium, Titanium, Titanium,
            Titanium, Titanium, Titanium, Titanium, Titanium, Titanium,
            Nitrogen, Nitrogen, Nitrogen, Nitrogen, Nitrogen, Nitrogen,
            Nitrogen, Nitrogen, Nitrogen, Nitrogen, Nitrogen, Nitrogen,
            Nitrogen, Nitrogen, Nitrogen, Titanium, Titanium, Titanium,
            Titanium, Titanium, Titanium, Titanium, Titanium, Titanium,
            Titanium, Titanium, Titanium, Titanium, Titanium, Titanium,
            Nitrogen, Nitrogen, Nitrogen, Nitrogen, Nitrogen, Nitrogen,
            Nitrogen, Nitrogen, Nitrogen, Nitrogen, Nitrogen, Nitrogen,
            Nitrogen, Nitrogen, Nitrogen, Titanium, Titanium, Titanium,
            Titanium, Titanium, Titanium, Titanium, Titanium, Titanium,
            Titanium, Titanium, Titanium, Titanium, Titanium, Titanium,
            Nitrogen, Nitrogen, Nitrogen, Nitrogen, Nitrogen, Nitrogen,
            Nitrogen, Nitrogen, Nitrogen, Nitrogen, Nitrogen, Nitrogen,
            Nitrogen, Nitrogen, Nitrogen, Titanium, Titanium, Titanium,
            Titanium, Titanium, Titanium, Titanium, Titanium, Titanium,
            Titanium, Titanium, Titanium, Titanium, Titanium, Titanium,
            Nitrogen, Nitrogen, Nitrogen, Nitrogen, Nitrogen, Nitrogen,
            Nitrogen, Nitrogen, Nitrogen, Nitrogen, Nitrogen, Nitrogen,
            Nitrogen, Nitrogen, Nitrogen, Titanium, Titanium, Titanium,
            Titanium, Titanium, Titanium, Titanium, Titanium, Titanium,
            Titanium, Titanium, Titanium, Titanium, Titanium, Titanium,
            Hydrogen, Hydrogen, Hydrogen, Hydrogen, Hydrogen, Hydrogen,
            Hydrogen, Hydrogen, Hydrogen, Hydrogen, Hydrogen, Hydrogen,
            Hydrogen, Hydrogen, Hydrogen, Hydrogen, Hydrogen, Hydrogen]

# Define coordinates
fractional_coordinates = [[ 0.156677243873,  0.200762940176,  0.214131756108],
                          [ 0.671167925042,  0.203005539129,  0.213518083094],
                          [ 0.410834708411,  0.458350601402,  0.210642360904],
                          [ 0.909527598934,  0.456746851366,  0.213435794552],
                          [ 0.159011487614,  0.707077672256,  0.212054310287],
                          [ 0.669091118025,  0.717769408081,  0.21097781215 ],
                          [ 0.416229309213,  0.955843688815,  0.212841019718],
                          [ 0.904363227475,  0.965348675594,  0.214415731028],
                          [ 0.308518594894,  0.099787403903,  0.227403278901],
                          [ 0.793132234569,  0.095102818249,  0.229551487132],
                          [ 0.048060574634,  0.344203792259,  0.228075663782],
                          [ 0.545928606173,  0.341720809178,  0.226432944999],
                          [ 0.300174835915,  0.588469811628,  0.225742325812],
                          [ 0.795781159713,  0.601731222635,  0.227547965004],
                          [ 0.055293926196,  0.847779202122,  0.226754390862],
                          [ 0.556736098268,  0.84480609583 ,  0.226976387475],
                          [ 0.418634897932,  0.222039982425,  0.241953713251],
                          [ 0.917676842809,  0.229256374156,  0.243015930172],
                          [ 0.173807080751,  0.47135865309 ,  0.242630934506],
                          [ 0.670406788205,  0.479332284725,  0.242615436689],
                          [ 0.422831959537,  0.715426247676,  0.241041360947],
                          [ 0.927631667166,  0.730400295123,  0.242462750837],
                          [ 0.178967464299,  0.974441468243,  0.242748210531],
                          [ 0.676619620942,  0.958705883171,  0.243209730336],
                          [ 0.054837933916,  0.102128531401,  0.257709033539],
                          [ 0.542818785213,  0.097915409289,  0.256539240747],
                          [ 0.302073734672,  0.35225430417 ,  0.257182121997],
                          [ 0.799255359042,  0.353956982758,  0.25776501439 ],
                          [ 0.051957487008,  0.599433279726,  0.257108657388],
                          [ 0.545421035761,  0.595927052543,  0.257924303716],
                          [ 0.298696756008,  0.842271502166,  0.257353906495],
                          [ 0.796200931601,  0.840195229259,  0.25847462162 ],
                          [ 0.186994725709,  0.226745028416,  0.272890127993],
                          [ 0.673192123837,  0.218648072497,  0.272679460901],
                          [ 0.422255868835,  0.469089622393,  0.272891860273],
                          [ 0.928451329141,  0.468653340405,  0.273718298912],
                          [ 0.184642917635,  0.71228740044 ,  0.272405949927],
                          [ 0.674702875335,  0.717293476479,  0.272746843239],
                          [ 0.42752539117 ,  0.966558000658,  0.272245918234],
                          [ 0.934996469159,  0.970015714161,  0.271489311738],
                          [ 0.314750417705,  0.100534070321,  0.288511497331],
                          [ 0.805082091071,  0.094064724306,  0.286378259204],
                          [ 0.054702088313,  0.34173864062 ,  0.288449797867],
                          [ 0.550931180119,  0.3411828016  ,  0.287687609796],
                          [ 0.306883087903,  0.588642575201,  0.289265730059],
                          [ 0.798768351042,  0.594920851077,  0.288273261565],
                          [ 0.061657211832,  0.84112633875 ,  0.287420641307],
                          [ 0.557241129729,  0.852562814512,  0.288212569142],
                          [ 0.431194057129,  0.221565804906,  0.303978171354],
                          [ 0.922652367119,  0.213063057688,  0.303541553393],
                          [ 0.174190792037,  0.467341581231,  0.304164124799],
                          [ 0.676916609212,  0.469224461074,  0.302747180376],
                          [ 0.428756034269,  0.726321272516,  0.3038781538  ],
                          [ 0.929803885317,  0.72281859063 ,  0.30332204388 ],
                          [ 0.17785473215 ,  0.974044214138,  0.302603831983],
                          [ 0.679898734956,  0.983988038666,  0.303113724813],
                          [ 0.041232668093,  0.090452502704,  0.318194613776],
                          [ 0.551301906916,  0.094723932562,  0.319777239982],
                          [ 0.29505332563 ,  0.336035734144,  0.319602180903],
                          [ 0.798603032003,  0.345552130708,  0.318970498307],
                          [ 0.044328032375,  0.590858296953,  0.319833184446],
                          [ 0.557189059161,  0.596227534899,  0.319027303548],
                          [ 0.292151785992,  0.850871018109,  0.318713606218],
                          [ 0.798125721241,  0.85249101886 ,  0.319157111268],
                          [ 0.157686026311,  0.21873747915 ,  0.334765482943],
                          [ 0.665876981574,  0.22832059435 ,  0.333830338542],
                          [ 0.417794395667,  0.47775594569 ,  0.333477553303],
                          [ 0.908362939604,  0.484777855709,  0.334378406839],
                          [ 0.16316427072 ,  0.730268067223,  0.334056163926],
                          [ 0.663303850537,  0.732793998924,  0.33428105202 ],
                          [ 0.418828225619,  0.975101990911,  0.334762749481],
                          [ 0.915468244814,  0.973396500252,  0.335267736455],
                          [ 0.292033472477,  0.100096640333,  0.350196996156],
                          [ 0.795319914148,  0.122114537195,  0.349644315502],
                          [ 0.037737260724,  0.363846784232,  0.349498752015],
                          [ 0.542924251288,  0.350512986297,  0.348574760984],
                          [ 0.285568646012,  0.603397000736,  0.348105589031],
                          [ 0.789002599254,  0.621950592551,  0.348724157391],
                          [ 0.041279236507,  0.860500851805,  0.351077575619],
                          [ 0.535545584017,  0.847192864443,  0.35164822148 ],
                          [ 0.41866681927 ,  0.227632133325,  0.364947535816],
                          [ 0.912256374952,  0.260892218276,  0.366281319394],
                          [ 0.152137834437,  0.493626207887,  0.36474668983 ],
                          [ 0.665182393812,  0.486710909171,  0.363033229496],
                          [ 0.403509479559,  0.712682190976,  0.365798388275],
                          [ 0.898805222155,  0.75367268484 ,  0.365771359717],
                          [ 0.164766187845,  0.991949713479,  0.366825120991],
                          [ 0.655998198016,  1.001648652486,  0.365026673286],
                          [ 0.059614084093,  0.155237398635,  0.381936491233],
                          [ 0.50950199779 ,  0.087673571445,  0.381671417212],
                          [ 0.325979854678,  0.392615269532,  0.377016240699],
                          [ 0.824014743757,  0.442690865118,  0.380058505301],
                          [-0.005967473898,  0.590291326101,  0.37868999717 ],
                          [ 0.50142270352 ,  0.550005438288,  0.379729116827],
                          [ 0.26665768122 ,  0.8288264392  ,  0.381315742006],
                          [ 0.809716911264,  0.921097580268,  0.380575169071],
                          [ 0.204622243304,  0.285129217312,  0.395468474104],
                          [ 0.665575655361,  0.507097634147,  0.395613014013],
                          [ 0.114300617759,  0.710142862841,  0.395855756918],
                          [ 0.423496826075,  0.917867661766,  0.395202118078],
                          [ 0.885709359596,  0.088993371194,  0.396125034217],
                          [ 0.287934954571,  0.186606338963,  0.403854723444],
                          [ 0.791598103512,  0.19989223913 ,  0.401327969052],
                          [ 0.163457685248,  0.385388481384,  0.407959349561],
                          [ 0.659515139029,  0.391847860317,  0.407615830571],
                          [ 0.175296650757,  0.630081541617,  0.40894104162 ],
                          [ 0.67578720438 ,  0.62980338706 ,  0.405066999997],
                          [ 0.02012540032 ,  0.815315764138,  0.40261412093 ],
                          [ 0.505312098444,  0.795670309657,  0.400142991232],
                          [ 0.37570202381 ,  0.962302095162,  0.411040342813],
                          [ 0.932503490896,  1.027625072968,  0.412547104816],
                          [ 0.75516761788 ,  0.290334317452,  0.414994568858],
                          [ 0.170020804317,  0.507958057425,  0.418958495028],
                          [ 0.564207173093,  0.706823694118,  0.41244929815 ],
                          [-0.033403933122,  0.89211836633 ,  0.417235189882],
                          [ 0.329563970582,  0.099836483665,  0.417041207848],
                          [ 0.445501640365,  0.15944061661 ,  0.425707677469],
                          [ 0.673483629181,  0.220153073807,  0.426797081421],
                          [ 0.878900666976,  0.348307624139,  0.421120076221],
                          [ 0.04862157066 ,  0.49852213208 ,  0.428762074491],
                          [ 0.283531919136,  0.489790983443,  0.430022117104],
                          [ 0.458562066581,  0.623009255194,  0.419261653777],
                          [ 0.619814127077,  0.799351408313,  0.425371538317],
                          [ 0.850733656654,  0.817626291104,  0.423679926509],
                          [ 0.067254430276,  0.892010099208,  0.430399863754],
                          [ 0.215045399528,  0.079853563753,  0.427354977233],
                          [ 0.553455656841,  0.195456034604,  0.436993209284],
                          [ 0.961492009101,  0.392377765669,  0.435265002992],
                          [ 0.387964981045,  0.588468825848,  0.434434529309],
                          [ 0.747782313729,  0.795919690966,  0.435754135391],
                          [ 0.157833609449,  0.991049911657,  0.439525984583],
                          [ 0.015503980169,  0.257258123095,  0.441452262777],
                          [ 0.504323025187,  0.31261908637 ,  0.445361395588],
                          [ 0.478443232099,  0.545418933201,  0.447512844866],
                          [ 0.90729308538 ,  0.457093606359,  0.450119302783],
                          [ 0.325291450961,  0.708941609987,  0.441310786497],
                          [ 0.777864092935,  0.657426470534,  0.443168906928],
                          [ 0.270763524258,  0.92678484217 ,  0.447297246673],
                          [ 0.750150532462,  0.887052357744,  0.449533709831],
                          [ 0.077034839352,  0.054547762116,  0.452222835924],
                          [ 0.596997935066,  0.083541669013,  0.447047547668],
                          [ 0.070121099204,  0.196570193786,  0.456568675054],
                          [ 0.495996398591,  0.427688312045,  0.457888152084],
                          [ 0.864488457424,  0.592393386571,  0.455570455617],
                          [ 0.300127341139,  0.795105344288,  0.455250852414],
                          [ 0.684202577942,  0.998514797831,  0.458154345202],
                          [ 0.976584287574,  0.207464650537,  0.471180361769],
                          [ 0.201081337644,  0.258628074973,  0.460668452704],
                          [ 0.384540755601,  0.410467057825,  0.469418097707],
                          [ 0.627278337875,  0.429791340505,  0.467323454733],
                          [ 0.804401873364,  0.577842685978,  0.472219518967],
                          [ 0.983518599872,  0.675629370221,  0.460672423447],
                          [ 0.188609421062,  0.761131761223,  0.465376359531],
                          [ 0.421811173193,  0.804248527174,  0.464931191716],
                          [ 0.584141396211,  0.971520821635,  0.470745154014],
                          [ 0.799391324195,  1.07402943692 ,  0.464836261456],
                          [ 0.276689643568,  0.317898538075,  0.475381966581],
                          [ 0.678156403316,  0.527382250311,  0.479610474218],
                          [ 0.065759865085,  0.72187298855 ,  0.474110482363],
                          [ 0.46718941952 ,  0.903003642393,  0.478000447786],
                          [ 0.864649753148,  0.142577364953,  0.479128693925],
                          [ 0.337405112291,  0.210952747398,  0.484612833521],
                          [ 0.767366262132,  0.232969952168,  0.487228851656],
                          [ 0.1715930659  ,  0.396227446407,  0.484789584549],
                          [ 0.710110724556,  0.455946305514,  0.495146165986],
                          [ 0.125465010712,  0.629101216203,  0.487061738078],
                          [ 0.576954348161,  0.627146088403,  0.482888579024],
                          [ 0.999554123037,  0.821671283523,  0.483642277061],
                          [ 0.5209536126  ,  0.841854498901,  0.492999241945],
                          [ 0.35108179213 ,  0.972875778951,  0.484781792654],
                          [ 0.918198990519,  1.044059881356,  0.490862316496],
                          [ 0.70820844948 ,  0.308907863758,  0.500389787728],
                          [ 0.109037242044,  0.49909455037 ,  0.495848332546],
                          [ 0.518718782519,  0.697487393709,  0.4969447154  ],
                          [ 0.916051380538,  0.895635594714,  0.496305163626],
                          [ 0.308804922213,  0.093500027697,  0.495759905726],
                          [ 0.584523139299,  0.260882067138,  0.506538719366],
                          [-0.029699864394,  0.458580613613,  0.501118418654],
                          [ 0.386764502953,  0.648617799937,  0.501625924613],
                          [ 0.779564910162,  0.84438921405 ,  0.498184092296],
                          [ 0.172750700243,  1.062817276346,  0.50088361477 ],
                          [ 0.792213760406,  0.321365923267,  0.514777301528],
                          [ 0.182478309709,  0.512907879167,  0.512298590178],
                          [ 0.613798466537,  0.681258972576,  0.511635409513],
                          [-0.010788749229,  0.904592102998,  0.512689932064],
                          [ 0.396770720889,  0.107728196639,  0.511859823187],
                          [ 0.07976424218 ,  0.248774026615,  0.517965380241],
                          [ 0.454153722455,  0.454521935802,  0.519368795581],
                          [ 0.876938056918,  0.671796711013,  0.515893606369],
                          [ 0.249555573952,  0.844815149796,  0.518331793064],
                          [ 0.706445088253,  1.043885395859,  0.515748200748],
                          [ 0.458494043669,  0.2737748936  ,  0.521952894292],
                          [ 0.869318419939,  0.493701204639,  0.518842791797],
                          [ 0.274920152725,  0.672889004311,  0.518495451935],
                          [ 0.684401880992,  0.86818815622 ,  0.517501306884],
                          [ 0.073729894696,  1.070681297158,  0.51935782349 ],
                          [ 0.755730034259,  0.172996971316,  0.529950497132],
                          [ 0.149494150747,  0.369817860177,  0.531289732398],
                          [ 0.558270922946,  0.575204171092,  0.530508471163],
                          [ 0.969715134928,  0.778035061715,  0.529407196618],
                          [ 0.356845687738,  0.966398734827,  0.529114226604],
                          [ 0.312476146643,  0.287266568698,  0.536391038861],
                          [ 0.723713294941,  0.498423216522,  0.534439200974],
                          [ 0.125448590096,  0.685842394301,  0.533827224346],
                          [ 0.516378222959,  0.891494106648,  0.530881358486],
                          [ 0.920524092666,  0.099296950858,  0.534051701982],
                          [ 0.600682593714,  0.265739526211,  0.537083725402],
                          [-0.018485189872,  0.463671627297,  0.535566606538],
                          [ 0.394345572111,  0.665831844685,  0.535767670681],
                          [ 0.815088980222,  0.866878874383,  0.534030759369],
                          [ 0.18565589462 ,  1.056308553733,  0.536465939092],
                          [ 0.823884211517,  0.282407761323,  0.550341655754],
                          [ 0.220594848752,  0.488080377636,  0.548011179773],
                          [ 0.6223341115  ,  0.695574213665,  0.547747632147],
                          [ 0.022321461332,  0.894818965544,  0.549011335919],
                          [ 0.42247013038 ,  0.101376536105,  0.54575803992 ],
                          [ 0.101714691584,  0.260074347506,  0.549959394227],
                          [ 0.512301986905,  0.471332268286,  0.548468725808],
                          [ 0.910447267982,  0.672211575972,  0.5488292633  ],
                          [ 0.30629520013 ,  0.874774834403,  0.549810150853],
                          [ 0.701254897128,  0.062354825296,  0.547867571546],
                          [ 0.25324675032 ,  0.172413854164,  0.555462807749],
                          [ 0.675415224524,  0.38587612299 ,  0.552973170811],
                          [ 0.065623886838,  0.577141013376,  0.554222955731],
                          [ 0.466305535301,  0.777739901813,  0.554053814742],
                          [ 0.867954513651,  0.987264093515,  0.553179919542],
                          [ 0.966186225534,  0.273921231047,  0.564577524144],
                          [ 0.36359518033 ,  0.482681942854,  0.561441551225],
                          [ 0.767374007962,  0.675931890412,  0.561723401285],
                          [ 0.16186911971 ,  0.887171894558,  0.563288900687],
                          [ 0.553641267593,  0.088160562012,  0.560638156889],
                          [ 0.951242196713,  0.088644077741,  0.569356061122],
                          [ 0.323407003292,  0.307474538024,  0.56861024529 ],
                          [ 0.734712016945,  0.506384979605,  0.568917848696],
                          [ 0.137556109055,  0.6973503959  ,  0.567637853727],
                          [ 0.538042432692,  0.915443261152,  0.567265473944],
                          [ 0.586125126883,  0.275929677786,  0.567421139821],
                          [-0.012515729085,  0.461048308375,  0.569382914784],
                          [ 0.380682252449,  0.659016245331,  0.566969287622],
                          [ 0.790558845006,  0.867418541269,  0.567171031881],
                          [ 0.200407957128,  0.064564115259,  0.571853281822],
                          [ 0.435142644239,  0.106154575228,  0.579893470618],
                          [ 0.823528855239,  0.303063171435,  0.581948651155],
                          [ 0.221868977422,  0.491653889276,  0.581646134806],
                          [ 0.635928362121,  0.714392615167,  0.579498652015],
                          [ 0.045125049328,  0.896552955613,  0.582543790941],
                          [ 0.074942167141,  0.245018435865,  0.583466485602],
                          [ 0.466800197306,  0.472925181275,  0.582133015923],
                          [ 0.883919519232,  0.665875506649,  0.581465095471],
                          [ 0.286023306376,  0.849229855744,  0.581886531478],
                          [ 0.706665514742,  0.072016477881,  0.580706154255],
                          [ 0.46436961669 ,  0.287717780387,  0.585877862613],
                          [ 0.862272287268,  0.479449511462,  0.586947947728],
                          [ 0.249201664009,  0.670310842225,  0.587772818824],
                          [ 0.687184008862,  0.886589931313,  0.585191170842],
                          [ 0.059118854264,  0.070413410554,  0.59074608235 ],
                          [ 0.741661261519,  0.185196510161,  0.597221859129],
                          [ 0.162575662285,  0.372859818545,  0.596358590787],
                          [ 0.562166499018,  0.6000734478  ,  0.594025631169],
                          [ 0.962735091532,  0.781589351312,  0.596768334979],
                          [ 0.368540498901,  0.98109093245 ,  0.593548334991],
                          [ 0.922050156627,  0.107181658847,  0.604537801684],
                          [ 0.334717163965,  0.304310370139,  0.601848048803],
                          [ 0.7309519749  ,  0.544075714814,  0.603070434697],
                          [ 0.13917529341 ,  0.723205523425,  0.605429098879],
                          [ 0.537473688769,  0.912391076524,  0.596872888485],
                          [ 0.602350547283,  0.295920974019,  0.600263449825],
                          [ 1.000370673174,  0.455212325149,  0.602304625084],
                          [ 0.407964045213,  0.6747387698  ,  0.599354667102],
                          [ 0.793838783591,  0.846870569227,  0.602472390964],
                          [ 0.209976470189,  0.032613205506,  0.604400105986],
                          [ 0.439025100912,  0.086740079812,  0.612274057794],
                          [ 0.806568182558,  0.309280385602,  0.613587639447],
                          [ 0.208882188549,  0.502934796745,  0.612039851449],
                          [ 0.588740970969,  0.721527061613,  0.612446539544],
                          [ 0.014365063529,  0.907928746692,  0.611679289403],
                          [ 0.687611592923,  0.054969579233,  0.612339954269],
                          [ 0.129992565136,  0.249454166287,  0.613326209802],
                          [ 0.491625081434,  0.482231521918,  0.613217932117],
                          [ 0.924593680412,  0.664209780381,  0.614959112522],
                          [ 0.36534517464 ,  0.850184826742,  0.61470983274 ],
                          [ 0.279003984861,  0.134480841092,  0.624129891311],
                          [ 0.662957269649,  0.40881012289 ,  0.62077953176 ],
                          [ 0.054276108849,  0.531525191357,  0.623315957254],
                          [ 0.429682339018,  0.664518343407,  0.623221240223],
                          [ 0.850795051334, -0.023775765436,  0.620128707265],
                          [ 0.522712785947, -0.05478664479 ,  0.622394588207],
                          [ 0.962474969083,  0.238948616459,  0.623295919715],
                          [ 0.340113902473,  0.402223924639,  0.623098241919],
                          [ 0.757924511176,  0.691681117104,  0.62166244078 ],
                          [ 0.190523891319,  0.84988592489 ,  0.621727668982],
                          [ 0.074872374673,  0.907859840002,  0.639035718145],
                          [ 0.332350613617, -0.017366840451,  0.638500462421],
                          [ 0.597413120452,  0.035131191584,  0.640555009659],
                          [ 0.883537892835,  0.105786408215,  0.636945090225],
                          [ 0.132338193105,  0.174878539233,  0.640547120975],
                          [ 0.386954184859,  0.252324320483,  0.63732053512 ],
                          [ 0.667966680995,  0.304560010878,  0.638902315767],
                          [ 0.949748232032,  0.382034624607,  0.637927670105],
                          [ 0.190538657952,  0.448047778373,  0.639350563641],
                          [ 0.444539839909,  0.513258462845,  0.639569294796],
                          [ 0.721432366839,  0.557744337615,  0.636821787907],
                          [ 0.99468686213 ,  0.634499292178,  0.641622820635],
                          [ 0.263320439393,  0.705895243635,  0.636474748336],
                          [ 0.527029042042,  0.775834839418,  0.637874352361],
                          [ 0.802937380955,  0.837867254475,  0.636149260789],
                          [ 0.916002343568, -0.059648591812,  0.651003801791],
                          [ 0.176355560025,  0.02299383331 ,  0.651953295432],
                          [ 0.445350423423,  0.095338687858,  0.651373750709],
                          [ 0.707411057584,  0.15214980714 ,  0.651243879548],
                          [ 0.988053201153,  0.219619388003,  0.652543143973],
                          [ 0.244839451666,  0.294081494972,  0.65234122549 ],
                          [ 0.517559791491,  0.355643913511,  0.650372155479],
                          [ 0.791685535613,  0.417074910305,  0.650164393045],
                          [ 0.047262755935,  0.488189775754,  0.653591966213],
                          [ 0.305261801382,  0.556512444849,  0.652162966937],
                          [ 0.571848591891,  0.613227930969,  0.651164169243],
                          [ 0.847622439461,  0.681952723339,  0.651393686956],
                          [ 0.110747155538,  0.749866327527,  0.651393105716],
                          [ 0.380154127218,  0.82667191044 ,  0.651185900512],
                          [ 0.64293962612 ,  0.883387745592,  0.651601896633],
                          [ 0.484293222174,  0.934450982841,  0.664682638724],
                          [ 0.765340332948, -0.010180311332,  0.664047879747],
                          [ 0.024760081977,  0.060489297404,  0.665841134969],
                          [ 0.292005082919,  0.132029779868,  0.663919420223],
                          [ 0.552346920209,  0.199263928073,  0.664133151125],
                          [ 0.828586305483,  0.25784536091 ,  0.664720351145],
                          [ 0.097178524108,  0.329179539579,  0.666191183611],
                          [ 0.363319990671,  0.399257857817,  0.664671858743],
                          [ 0.63446843564 ,  0.463117368708,  0.663897800521],
                          [ 0.888538737184,  0.526879334882,  0.666033315634],
                          [ 0.162118701799,  0.6017347464  ,  0.665430442222],
                          [ 0.424227907544,  0.665977825179,  0.66471111123 ],
                          [ 0.691681189033,  0.727447969168,  0.665187514286],
                          [ 0.955294476738,  0.793445622078,  0.664276527048],
                          [ 0.221227590094,  0.868142925685,  0.664731121724],
                          [ 0.067791854401,  0.909168142962,  0.678267989126],
                          [ 0.335070572705, -0.02177943441 ,  0.678060698973],
                          [ 0.602954635519,  0.043384962462,  0.677645323458],
                          [ 0.867362290472,  0.105609704466,  0.677629022626],
                          [ 0.137326890178,  0.169927526629,  0.678917992827],
                          [ 0.405442941905,  0.246168373255,  0.677761164635],
                          [ 0.674655579161,  0.311567464804,  0.677225303696],
                          [ 0.937518701808,  0.380358567227,  0.678469699857],
                          [ 0.209666402367,  0.444061263682,  0.678782794098],
                          [ 0.468109986109,  0.509345932332,  0.677658809461],
                          [ 0.731267201248,  0.572484812608,  0.677629760545],
                          [ 1.005704223678,  0.644396369694,  0.678198117729],
                          [ 0.270654424726,  0.712400813015,  0.678141112814],
                          [ 0.5387376198  ,  0.778643499908,  0.677849393159],
                          [ 0.800287729775,  0.83955017608 ,  0.677818230068],
                          [ 0.915633438042, -0.050970676152,  0.692066741513],
                          [ 0.180023591724,  0.019948264003,  0.691976655658],
                          [ 0.453258259428,  0.090976895764,  0.690862064234],
                          [ 0.714035184235,  0.154272373595,  0.6908016378  ],
                          [ 0.980831048573,  0.221191147317,  0.69232163357 ],
                          [ 0.254435734912,  0.2880367369  ,  0.691857909465],
                          [ 0.521883709672,  0.360145820363,  0.690510048156],
                          [ 0.785558909346,  0.426407738499,  0.691903984925],
                          [ 0.046368464538,  0.493181742585,  0.691716092007],
                          [ 0.322961904144,  0.556442942083,  0.691852634869],
                          [ 0.582837071604,  0.623419910671,  0.691134010035],
                          [ 0.847905733385,  0.688964553188,  0.69168662237 ],
                          [ 0.117421065108,  0.752561042061,  0.691903165553],
                          [ 0.382115617033,  0.825693094339,  0.691029556926],
                          [ 0.64997932456 ,  0.891517053752,  0.691128483638],
                          [ 0.492743762154,  0.935965594645,  0.704228374721],
                          [ 0.759479679017,  0.000386356414,  0.70460150386 ],
                          [ 0.028330040222,  0.063747832642,  0.705508660041],
                          [ 0.299511167168,  0.133978152299,  0.704489408084],
                          [ 0.565850788423,  0.203449016656,  0.703852158438],
                          [ 0.830818474782,  0.265102417473,  0.705128633816],
                          [ 0.096210523541,  0.332603606681,  0.705041727713],
                          [ 0.36577472978 ,  0.399457719718,  0.705235124479],
                          [ 0.631315360161,  0.46596739676 ,  0.704275164153],
                          [ 0.892220921733,  0.539507654797,  0.70486702443 ],
                          [ 0.165604538439,  0.598201565713,  0.7050228096  ],
                          [ 0.425999873193,  0.664861548097,  0.704467441228],
                          [ 0.69895389956 ,  0.73752957707 ,  0.70517951659 ],
                          [ 0.965215398479,  0.798874443695,  0.704729873782],
                          [ 0.227288858126,  0.867466305627,  0.704431403726],
                          [ 0.079232682538,  0.913660419208,  0.718175218029],
                          [ 0.34374440687 , -0.025366061879,  0.718429073768],
                          [ 0.605396436058,  0.049451881201,  0.71802868891 ],
                          [ 0.874187637979,  0.11738807419 ,  0.718438241511],
                          [ 0.144257373406,  0.182449148738,  0.718174016003],
                          [ 0.412597493405,  0.245252883924,  0.718586114333],
                          [ 0.67728735479 ,  0.309643980072,  0.718583323077],
                          [ 0.936855162218,  0.375894315009,  0.718713262588],
                          [ 0.206338275977,  0.44675539404 ,  0.718658599228],
                          [ 0.474208184729,  0.512097196473,  0.718569799184],
                          [ 0.737039223755,  0.571188893088,  0.718482219289],
                          [ 1.007466006881,  0.651029340528,  0.718476206182],
                          [ 0.274280998961,  0.712166882459,  0.718086115668],
                          [ 0.538189064393,  0.779470063582,  0.718479226942],
                          [ 0.809244975312,  0.846611547473,  0.718499451907],
                          [ 0.927530438175, -0.045383983583,  0.730671328853],
                          [ 0.190943772063,  0.024349132943,  0.731184773279],
                          [ 0.45662514023 ,  0.090518499259,  0.731523514796],
                          [ 0.724848798977,  0.150174062246,  0.732165416998],
                          [ 0.989405308604,  0.221483025728,  0.731350224512],
                          [ 0.256541771325,  0.289146873146,  0.730672732602],
                          [ 0.524334240548,  0.350748155975,  0.730962203919],
                          [ 0.78818638725 ,  0.423548622995,  0.731423718645],
                          [ 0.059626077094,  0.491070097705,  0.731506440763],
                          [ 0.327003440145,  0.554921507401,  0.732157215134],
                          [ 0.592713014483,  0.62083652156 ,  0.731870816387],
                          [ 0.85262378811 ,  0.686123989251,  0.731340854861],
                          [ 0.124639944619,  0.759253989901,  0.731607742795],
                          [ 0.388732378262,  0.823974387211,  0.731057740877],
                          [ 0.654092963847,  0.888977032352,  0.731206994586],
                          [ 0.497362658727,  0.9350651814  ,  0.745268150617],
                          [ 0.765485325396, -0.003038033782,  0.745674484443],
                          [ 0.032496538161,  0.071692123431,  0.746196456256],
                          [ 0.292614550097,  0.132979394617,  0.744897393447],
                          [ 0.563341338329,  0.201263574149,  0.745734790339],
                          [ 0.836882054494,  0.267035537852,  0.745223754353],
                          [ 0.094212035116,  0.326644614647,  0.745771391117],
                          [ 0.371560637809,  0.395263974945,  0.745786270962],
                          [ 0.625570862891,  0.464381563561,  0.745157277137],
                          [ 0.899453826484,  0.530728344008,  0.744928651043],
                          [ 0.16440544329 ,  0.599842717908,  0.745220102621],
                          [ 0.433201458821,  0.668180190324,  0.745579543767],
                          [ 0.698881315788,  0.733212766527,  0.745391465828],
                          [ 0.962923696818,  0.799600650226,  0.745026118553],
                          [ 0.231275479189,  0.8654922467  ,  0.745747023784],
                          [ 0.081095550005,  0.907096296462,  0.759201728186],
                          [ 0.348718014313, -0.018138800234,  0.758353415119],
                          [ 0.606466197184,  0.042782413962,  0.758758809188],
                          [ 0.876606214068,  0.105863820938,  0.758359522612],
                          [ 0.141951513889,  0.176145396845,  0.758753468208],
                          [ 0.406631058823,  0.242540225671,  0.759346565862],
                          [ 0.67999782585 ,  0.314377698883,  0.759358033275],
                          [ 0.943676495179,  0.376275442182,  0.758145811904],
                          [ 0.212038524801,  0.439351555248,  0.757631068921],
                          [ 0.477320304271,  0.512026269055,  0.759026547047],
                          [ 0.747877828842,  0.576324467231,  0.758975456272],
                          [ 1.006717353532,  0.64536383975 ,  0.758790605675],
                          [ 0.280091661924,  0.712114169387,  0.758578915793],
                          [ 0.541930429925,  0.780526983203,  0.75864250742 ],
                          [ 0.812533988167,  0.843801163778,  0.7578712436  ],
                          [ 0.923374133335, -0.044425343276,  0.771758139786],
                          [ 0.193103829653,  0.024138586906,  0.772147809765],
                          [ 0.452107584269,  0.088779752213,  0.772284988498],
                          [ 0.722092965795,  0.159886090586,  0.772219083191],
                          [ 0.986066710613,  0.222634765282,  0.772437962554],
                          [ 0.256863018856,  0.289597944987,  0.772599636556],
                          [ 0.522654905282,  0.354601102125,  0.772750136138],
                          [ 0.794491399201,  0.421899146791,  0.772975014419],
                          [ 0.058828493292,  0.485707577513,  0.772151447722],
                          [ 0.32500623783 ,  0.556744583154,  0.771640873031],
                          [ 0.593823340016,  0.619456004193,  0.771194217019],
                          [ 0.848864601057,  0.685611213679,  0.772081796556],
                          [ 0.118944606301,  0.754957073152,  0.772225433917],
                          [ 0.386867021635,  0.828922142027,  0.77241666604 ],
                          [ 0.658819134358,  0.888082359427,  0.772059701178],
                          [ 0.5041629515  ,  0.930345779698,  0.784821454884],
                          [ 0.773736097498,  0.003355127098,  0.783759284842],
                          [ 0.034525402319,  0.066736822719,  0.78366763047 ],
                          [ 0.29985365236 ,  0.139388748132,  0.784300216243],
                          [ 0.571867803462,  0.205710652405,  0.784584187494],
                          [ 0.835118883209,  0.267634439324,  0.784415958044],
                          [ 0.099513133443,  0.335733096601,  0.78402631826 ],
                          [ 0.37041532836 ,  0.399397251098,  0.784597669603],
                          [ 0.640694497488,  0.475170376021,  0.78442216685 ],
                          [ 0.902694332551,  0.531186270074,  0.784199372824],
                          [ 0.169544707873,  0.601678437617,  0.783709893672],
                          [ 0.436228676344,  0.664902970432,  0.783467194101],
                          [ 0.698114057743,  0.734741421021,  0.783871968797],
                          [ 0.96280772166 ,  0.799756463028,  0.78385154057 ],
                          [ 0.242391101613,  0.87150986618 ,  0.784412775006],
                          [ 0.062676081264,  0.107957683815,  0.210459375343],
                          [ 0.194739347442,  0.244049110865,  0.200121825056],
                          [ 0.588902697815,  0.121235751312,  0.205273229498],
                          [ 0.728872603796,  0.242962685574,  0.199684373196],
                          [ 0.319810211441,  0.370018795849,  0.203261940887],
                          [ 0.468543592841,  0.510351285207,  0.196340907   ],
                          [ 0.827891316583,  0.367758150273,  0.2072574587  ],
                          [ 0.965118685627,  0.512003416812,  0.200918406589],
                          [ 0.069009952711,  0.615427856602,  0.205254165332],
                          [ 0.207418984745,  0.749984593472,  0.197350344055],
                          [ 0.578815110698,  0.628227293595,  0.203222191355],
                          [ 0.730631050907,  0.784434191158,  0.198556322826],
                          [ 0.321695443069,  0.873583003427,  0.206872457805],
                          [ 0.472641346062,  0.999213495905,  0.198566493554],
                          [ 0.815699961452,  0.872909438972,  0.209234369884],
                          [ 0.941914920102,  1.011827305847,  0.199572348873],
                          [ 0.577114081695,  0.154302193199,  0.394368424837],
                          [ 0.73481070226 ,  0.849451917928,  0.391263788973]]

# Set up configuration
bulk_configuration = BulkConfiguration(
    bravais_lattice=lattice,
    elements=elements,
    fractional_coordinates=fractional_coordinates,
)

# %% Set LCAOCalculator

# %% LCAOCalculator

# ----------------------------------------
# Exchange-Correlation
# ----------------------------------------
exchange_correlation = GGAHalf.PBE

boundary_conditions = [
    [PeriodicBoundaryCondition(), PeriodicBoundaryCondition()],
    [PeriodicBoundaryCondition(), PeriodicBoundaryCondition()],
    [NeumannBoundaryCondition(), DirichletBoundaryCondition()],
]

poisson_solver = FastFourier2DSolver(
    boundary_conditions=boundary_conditions
)

k_point_sampling = KpointDensity(
    density_a=4.0 * Angstrom, density_b=4.0 * Angstrom, density_c=4.0 * Angstrom
)

numerical_accuracy_parameters = NumericalAccuracyParameters(
    k_point_sampling=k_point_sampling,
    density_mesh_cutoff=125 * Hartree,
)

model = PretrainedGridValuesModels.density_HKMG_PBEHalf_PD_Medium_Y2026

grid_values_predictor = RangeSeparatedDensityPredictor(
    model=model,
)

algorithm_parameters = AlgorithmParameters(grid_values_predictor=grid_values_predictor)

calculator = LCAOCalculator(
    exchange_correlation=exchange_correlation,
    numerical_accuracy_parameters=numerical_accuracy_parameters,
    checkpoint_handler=NoCheckpointHandler,
    poisson_solver=poisson_solver,
    algorithm_parameters=algorithm_parameters,
)

# %% Set Calculator

bulk_configuration.setCalculator(calculator)

bulk_configuration.update()

nlsave('HkMG_stack_results.hdf5', bulk_configuration)

