{ "cells": [ { "cell_type": "markdown", "source": [ "# Gross-Pitaevskii equation with magnetism" ], "metadata": {} }, { "cell_type": "markdown", "source": [ "We solve the 2D Gross-Pitaevskii equation with a magnetic field.\n", "This is similar to the\n", "previous example (Gross-Pitaevskii equation in one dimension),\n", "but with an extra term for the magnetic field." ], "metadata": {} }, { "outputs": [], "cell_type": "code", "source": [ "using DFTK\n", "using StaticArrays\n", "using Plots" ], "metadata": {}, "execution_count": 1 }, { "cell_type": "markdown", "source": [ "Unit cell. Having one of the lattice vectors as zero means a 2D system" ], "metadata": {} }, { "outputs": [], "cell_type": "code", "source": [ "a = 10\n", "lattice = a .* [[1 0 0.]; [0 1 0]; [0 0 0]];" ], "metadata": {}, "execution_count": 2 }, { "cell_type": "markdown", "source": [ "Confining scalar potential, and magnetic vector potential" ], "metadata": {} }, { "outputs": [], "cell_type": "code", "source": [ "pot(x, y, z) = (x - a/2)^2 + (y - a/2)^2\n", "Apot(x, y, z) = .2 * @SVector [y - a/2, -(x - a/2), 0]\n", "Apot(X) = Apot(X...);" ], "metadata": {}, "execution_count": 3 }, { "cell_type": "markdown", "source": [ "Parameters" ], "metadata": {} }, { "outputs": [], "cell_type": "code", "source": [ "Ecut = 20 # Increase this for production\n", "C = 500.0\n", "α = 2\n", "n_electrons = 1; # Increase this for fun" ], "metadata": {}, "execution_count": 4 }, { "cell_type": "markdown", "source": [ "Collect all the terms, build and run the model" ], "metadata": {} }, { "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Iter Function value Gradient norm \n", " 0 3.573390e+01 1.270673e+01\n", " * time: 0.001837015151977539\n", " 1 2.901446e+01 4.798925e+00\n", " * time: 0.007480144500732422\n", " 2 2.450068e+01 3.153774e+00\n", " * time: 0.013027191162109375\n", " 3 2.104124e+01 2.086765e+00\n", " * time: 0.01845717430114746\n", " 4 1.971808e+01 1.601496e+00\n", " * time: 0.02364516258239746\n", " 5 1.961157e+01 2.231076e+00\n", " * time: 0.028060197830200195\n", " 6 1.923222e+01 1.582225e+00\n", " * time: 0.03232002258300781\n", " 7 1.887210e+01 1.194757e+00\n", " * time: 0.036570072174072266\n", " 8 1.854645e+01 9.641637e-01\n", " * time: 0.040798187255859375\n", " 9 1.832456e+01 8.119555e-01\n", " * time: 0.045101165771484375\n", " 10 1.817173e+01 6.088977e-01\n", " * time: 0.04932117462158203\n", " 11 1.806599e+01 5.899637e-01\n", " * time: 0.05356311798095703\n", " 12 1.797911e+01 6.802276e-01\n", " * time: 0.05781817436218262\n", " 13 1.790603e+01 6.100871e-01\n", " * time: 0.062090158462524414\n", " 14 1.784231e+01 8.564619e-01\n", " * time: 0.06553006172180176\n", " 15 1.777079e+01 6.576499e-01\n", " * time: 0.0688772201538086\n", " 16 1.777053e+01 1.274989e+00\n", " * time: 0.07218813896179199\n", " 17 1.773873e+01 8.869446e-01\n", " * time: 0.0755300521850586\n", " 18 1.766156e+01 6.417243e-01\n", " * time: 0.07887816429138184\n", " 19 1.760219e+01 5.753854e-01\n", " * time: 0.08272218704223633\n", " 20 1.754185e+01 6.411906e-01\n", " * time: 0.08606505393981934\n", " 21 1.751483e+01 6.893562e-01\n", " * time: 0.08940315246582031\n", " 22 1.751279e+01 1.053726e+00\n", " * time: 0.0926971435546875\n", " 23 1.747748e+01 8.654686e-01\n", " * time: 0.09598612785339355\n", " 24 1.744169e+01 5.448395e-01\n", " * time: 0.09927511215209961\n", " 25 1.740650e+01 6.822720e-01\n", " * time: 0.10259222984313965\n", " 26 1.736136e+01 5.234986e-01\n", " * time: 0.1058812141418457\n", " 27 1.733550e+01 5.390121e-01\n", " * time: 0.10922002792358398\n", " 28 1.731185e+01 4.685549e-01\n", " * time: 0.11258721351623535\n", " 29 1.728311e+01 3.716967e-01\n", " * time: 0.11589908599853516\n", " 30 1.726047e+01 3.496719e-01\n", " * time: 0.11917400360107422\n", " 31 1.722939e+01 3.366926e-01\n", " * time: 0.12243103981018066\n", " 32 1.720351e+01 3.596577e-01\n", " * time: 0.1257190704345703\n", " 33 1.718220e+01 4.880529e-01\n", " * time: 0.1548910140991211\n", " 34 1.715565e+01 4.972392e-01\n", " * time: 0.15912914276123047\n", " 35 1.714955e+01 7.172081e-01\n", " * time: 0.16212701797485352\n", " 36 1.712251e+01 6.253669e-01\n", " * time: 0.1650981903076172\n", " 37 1.709023e+01 4.175085e-01\n", " * time: 0.167985200881958\n", " 38 1.706482e+01 4.698043e-01\n", " * time: 0.17085504531860352\n", " 39 1.704905e+01 4.169481e-01\n", " * time: 0.17381811141967773\n", " 40 1.704240e+01 3.240295e-01\n", " * time: 0.17688202857971191\n", " 41 1.703334e+01 3.225695e-01\n", " * time: 0.17975521087646484\n", " 42 1.702521e+01 2.289613e-01\n", " * time: 0.18270301818847656\n", " 43 1.701931e+01 2.190146e-01\n", " * time: 0.18561816215515137\n", " 44 1.701574e+01 2.904510e-01\n", " * time: 0.18850421905517578\n", " 45 1.701168e+01 1.591044e-01\n", " * time: 0.19142818450927734\n", " 46 1.700721e+01 1.481492e-01\n", " * time: 0.19463014602661133\n", " 47 1.700423e+01 1.868759e-01\n", " * time: 0.19762611389160156\n", " 48 1.700214e+01 1.998513e-01\n", " * time: 0.20072412490844727\n", " 49 1.699931e+01 1.653740e-01\n", " * time: 0.2037220001220703\n", " 50 1.699643e+01 2.414779e-01\n", " * time: 0.20667719841003418\n", " 51 1.699600e+01 2.798112e-01\n", " * time: 0.2097182273864746\n", " 52 1.699350e+01 2.299809e-01\n", " * time: 0.21262407302856445\n", " 53 1.699052e+01 1.844732e-01\n", " * time: 0.21547913551330566\n", " 54 1.698797e+01 1.645113e-01\n", " * time: 0.21838712692260742\n", " 55 1.698409e+01 1.666185e-01\n", " * time: 0.2213151454925537\n", " 56 1.698193e+01 1.436701e-01\n", " * time: 0.2242591381072998\n", " 57 1.697929e+01 1.307648e-01\n", " * time: 0.22721099853515625\n", " 58 1.697730e+01 1.755405e-01\n", " * time: 0.2308790683746338\n", " 59 1.697544e+01 2.296418e-01\n", " * time: 0.23380303382873535\n", " 60 1.697296e+01 2.196035e-01\n", " * time: 0.23676013946533203\n", " 61 1.696894e+01 2.198135e-01\n", " * time: 0.23974323272705078\n", " 62 1.696547e+01 2.316806e-01\n", " * time: 0.2428731918334961\n", " 63 1.696220e+01 2.772998e-01\n", " * time: 0.24659299850463867\n", " 64 1.695616e+01 2.498578e-01\n", " * time: 0.2494950294494629\n", " 65 1.695132e+01 2.212388e-01\n", " * time: 0.2524731159210205\n", " 66 1.694798e+01 2.717563e-01\n", " * time: 0.2553980350494385\n", " 67 1.694469e+01 2.411086e-01\n", " * time: 0.2583141326904297\n", " 68 1.694070e+01 1.665585e-01\n", " * time: 0.2612190246582031\n", " 69 1.693845e+01 1.135444e-01\n", " * time: 0.26415109634399414\n", " 70 1.693713e+01 1.694117e-01\n", " * time: 0.2670400142669678\n", " 71 1.693621e+01 1.128945e-01\n", " * time: 0.27016615867614746\n", " 72 1.693526e+01 8.944661e-02\n", " * time: 0.27352213859558105\n", " 73 1.693458e+01 8.048647e-02\n", " * time: 0.27692508697509766\n", " 74 1.693425e+01 9.138856e-02\n", " * time: 0.2802541255950928\n", " 75 1.693383e+01 6.577505e-02\n", " * time: 0.2836000919342041\n", " 76 1.693363e+01 4.420535e-02\n", " * time: 0.2869260311126709\n", " 77 1.693338e+01 4.532063e-02\n", " * time: 0.29027223587036133\n", " 78 1.693328e+01 5.948380e-02\n", " * time: 0.2936060428619385\n", " 79 1.693310e+01 3.220068e-02\n", " * time: 0.29696011543273926\n", " 80 1.693295e+01 3.027421e-02\n", " * time: 0.3005251884460449\n", " 81 1.693284e+01 4.270845e-02\n", " * time: 0.30445003509521484\n", " 82 1.693280e+01 4.339660e-02\n", " * time: 0.3256101608276367\n", " 83 1.693271e+01 3.652206e-02\n", " * time: 0.3288991451263428\n", " 84 1.693259e+01 3.493256e-02\n", " * time: 0.3318760395050049\n", " 85 1.693249e+01 3.794068e-02\n", " * time: 0.334827184677124\n", " 86 1.693241e+01 3.759091e-02\n", " * time: 0.33777523040771484\n", " 87 1.693232e+01 3.701097e-02\n", " * time: 0.3406500816345215\n", " 88 1.693219e+01 3.761892e-02\n", " * time: 0.3436000347137451\n", " 89 1.693208e+01 4.113818e-02\n", " * time: 0.346555233001709\n", " 90 1.693195e+01 3.776853e-02\n", " * time: 0.3494901657104492\n", " 91 1.693175e+01 3.728770e-02\n", " * time: 0.35241007804870605\n", " 92 1.693146e+01 3.350343e-02\n", " * time: 0.35527801513671875\n", " 93 1.693139e+01 6.842466e-02\n", " * time: 0.35816407203674316\n", " 94 1.693114e+01 5.740468e-02\n", " * time: 0.36105823516845703\n", " 95 1.693084e+01 5.069526e-02\n", " * time: 0.3639712333679199\n", " 96 1.693076e+01 5.639160e-02\n", " * time: 0.36688899993896484\n", " 97 1.693046e+01 5.951617e-02\n", " * time: 0.36978912353515625\n", " 98 1.693020e+01 4.161410e-02\n", " * time: 0.372650146484375\n", " 99 1.693001e+01 4.745062e-02\n", " * time: 0.37562108039855957\n", " 100 1.692975e+01 3.940615e-02\n", " * time: 0.37859416007995605\n", " 101 1.692954e+01 3.620303e-02\n", " * time: 0.3814990520477295\n", " 102 1.692937e+01 3.342614e-02\n", " * time: 0.38440704345703125\n", " 103 1.692915e+01 3.526521e-02\n", " * time: 0.38726115226745605\n", " 104 1.692908e+01 6.454634e-02\n", " * time: 0.39017510414123535\n", " 105 1.692888e+01 5.649424e-02\n", " * time: 0.393125057220459\n", " 106 1.692867e+01 4.331902e-02\n", " * time: 0.39606714248657227\n", " 107 1.692852e+01 3.738067e-02\n", " * time: 0.3988950252532959\n", " 108 1.692821e+01 3.447704e-02\n", " * time: 0.4018540382385254\n", " 109 1.692807e+01 3.511740e-02\n", " * time: 0.40476107597351074\n", " 110 1.692791e+01 3.743523e-02\n", " * time: 0.40758609771728516\n", " 111 1.692781e+01 4.463446e-02\n", " * time: 0.41046905517578125\n", " 112 1.692767e+01 5.632572e-02\n", " * time: 0.413316011428833\n", " 113 1.692751e+01 4.691502e-02\n", " * time: 0.4161670207977295\n", " 114 1.692739e+01 3.933166e-02\n", " * time: 0.4190521240234375\n", " 115 1.692725e+01 3.586532e-02\n", " * time: 0.4226870536804199\n", " 116 1.692709e+01 2.875680e-02\n", " * time: 0.42563414573669434\n", " 117 1.692700e+01 3.401281e-02\n", " * time: 0.4284830093383789\n", " 118 1.692698e+01 3.876681e-02\n", " * time: 0.4313240051269531\n", " 119 1.692691e+01 3.035561e-02\n", " * time: 0.43418407440185547\n", " 120 1.692684e+01 2.962075e-02\n", " * time: 0.4370710849761963\n", " 121 1.692672e+01 2.553967e-02\n", " * time: 0.4400041103363037\n", " 122 1.692665e+01 3.246369e-02\n", " * time: 0.4429011344909668\n", " 123 1.692657e+01 3.187109e-02\n", " * time: 0.44581007957458496\n", " 124 1.692639e+01 1.940057e-02\n", " * time: 0.4487771987915039\n", " 125 1.692634e+01 3.074231e-02\n", " * time: 0.4516110420227051\n", " 126 1.692628e+01 2.558535e-02\n", " * time: 0.4545161724090576\n", " 127 1.692617e+01 2.466252e-02\n", " * time: 0.45746803283691406\n", " 128 1.692607e+01 2.697254e-02\n", " * time: 0.4603760242462158\n", " 129 1.692603e+01 3.815069e-02\n", " * time: 0.46327805519104004\n", " 130 1.692597e+01 2.906687e-02\n", " * time: 0.4661672115325928\n", " 131 1.692586e+01 2.832271e-02\n", " * time: 0.48382019996643066\n", " 132 1.692580e+01 3.540696e-02\n", " * time: 0.4872422218322754\n", " 133 1.692572e+01 2.683947e-02\n", " * time: 0.4902830123901367\n", " 134 1.692569e+01 4.059127e-02\n", " * time: 0.49327516555786133\n", " 135 1.692563e+01 3.654940e-02\n", " * time: 0.49631214141845703\n", " 136 1.692556e+01 2.555525e-02\n", " * time: 0.49999403953552246\n", " 137 1.692551e+01 2.840918e-02\n", " * time: 0.5028781890869141\n", " 138 1.692548e+01 2.573796e-02\n", " * time: 0.505836009979248\n", " 139 1.692545e+01 1.876343e-02\n", " * time: 0.5087511539459229\n", " 140 1.692541e+01 3.008570e-02\n", " * time: 0.5116491317749023\n", " 141 1.692539e+01 3.045868e-02\n", " * time: 0.5146431922912598\n", " 142 1.692535e+01 2.356405e-02\n", " * time: 0.5175840854644775\n", " 143 1.692530e+01 2.770573e-02\n", " * time: 0.5205421447753906\n", " 144 1.692526e+01 2.328018e-02\n", " * time: 0.5234570503234863\n", " 145 1.692522e+01 1.714682e-02\n", " * time: 0.5263731479644775\n", " 146 1.692521e+01 2.370733e-02\n", " * time: 0.5292720794677734\n", " 147 1.692518e+01 2.044555e-02\n", " * time: 0.5321781635284424\n", " 148 1.692517e+01 2.917003e-02\n", " * time: 0.5351200103759766\n", " 149 1.692512e+01 2.145829e-02\n", " * time: 0.5380451679229736\n", " 150 1.692508e+01 2.228256e-02\n", " * time: 0.540971040725708\n", " 151 1.692505e+01 1.760307e-02\n", " * time: 0.5439231395721436\n", " 152 1.692503e+01 3.134357e-02\n", " * time: 0.5468010902404785\n", " 153 1.692501e+01 2.444356e-02\n", " * time: 0.5496740341186523\n", " 154 1.692499e+01 2.549673e-02\n", " * time: 0.5525221824645996\n", " 155 1.692495e+01 1.662706e-02\n", " * time: 0.5553710460662842\n", " 156 1.692494e+01 1.256782e-02\n", " * time: 0.5582640171051025\n", " 157 1.692492e+01 1.810513e-02\n", " * time: 0.5611460208892822\n", " 158 1.692491e+01 2.270859e-02\n", " * time: 0.5640921592712402\n", " 159 1.692491e+01 2.310485e-02\n", " * time: 0.5669701099395752\n", " 160 1.692491e+01 2.177476e-02\n", " * time: 0.569932222366333\n", " 161 1.692489e+01 1.865139e-02\n", " * time: 0.5729801654815674\n", " 162 1.692486e+01 1.897921e-02\n", " * time: 0.5760030746459961\n", " 163 1.692485e+01 2.300311e-02\n", " * time: 0.5788900852203369\n", " 164 1.692484e+01 1.682177e-02\n", " * time: 0.5821290016174316\n", " 165 1.692482e+01 1.421335e-02\n", " * time: 0.5852100849151611\n", " 166 1.692481e+01 1.127750e-02\n", " * time: 0.5881412029266357\n", " 167 1.692481e+01 8.538247e-03\n", " * time: 0.5911040306091309\n", " 168 1.692480e+01 1.239182e-02\n", " * time: 0.5940451622009277\n", " 169 1.692480e+01 1.527687e-02\n", " * time: 0.5969560146331787\n", " 170 1.692480e+01 1.939353e-02\n", " * time: 0.5998191833496094\n", " 171 1.692479e+01 2.082774e-02\n", " * time: 0.6026871204376221\n", " 172 1.692478e+01 1.532945e-02\n", " * time: 0.6056270599365234\n", " 173 1.692476e+01 1.251684e-02\n", " * time: 0.6085221767425537\n", " 174 1.692476e+01 1.350053e-02\n", " * time: 0.6113622188568115\n", " 175 1.692475e+01 9.825440e-03\n", " * time: 0.6142990589141846\n", " 176 1.692474e+01 1.087044e-02\n", " * time: 0.6171841621398926\n", " 177 1.692474e+01 9.297098e-03\n", " * time: 0.6201410293579102\n", " 178 1.692473e+01 6.103006e-03\n", " * time: 0.6230380535125732\n", " 179 1.692473e+01 1.027376e-02\n", " * time: 0.6259441375732422\n", " 180 1.692473e+01 1.371966e-02\n", " * time: 0.6288602352142334\n", " 181 1.692472e+01 1.407364e-02\n", " * time: 0.6443090438842773\n", " 182 1.692472e+01 6.141369e-03\n", " * time: 0.6480991840362549\n", " 183 1.692471e+01 7.387532e-03\n", " * time: 0.6509921550750732\n", " 184 1.692471e+01 3.829857e-03\n", " * time: 0.653968095779419\n", " 185 1.692471e+01 5.074726e-03\n", " * time: 0.6568841934204102\n", " 186 1.692470e+01 4.787742e-03\n", " * time: 0.6597230434417725\n", " 187 1.692470e+01 5.518929e-03\n", " * time: 0.6626491546630859\n", " 188 1.692470e+01 4.305865e-03\n", " * time: 0.6655561923980713\n", " 189 1.692470e+01 4.682996e-03\n", " * time: 0.6684811115264893\n", " 190 1.692469e+01 7.500676e-03\n", " * time: 0.6713101863861084\n", " 191 1.692469e+01 1.035813e-02\n", " * time: 0.6741800308227539\n", " 192 1.692469e+01 7.430379e-03\n", " * time: 0.6770942211151123\n", " 193 1.692469e+01 7.075385e-03\n", " * time: 0.6800291538238525\n", " 194 1.692468e+01 6.271838e-03\n", " * time: 0.6829051971435547\n", " 195 1.692467e+01 4.363848e-03\n", " * time: 0.6857810020446777\n", " 196 1.692467e+01 4.952946e-03\n", " * time: 0.6887500286102295\n", " 197 1.692467e+01 5.328731e-03\n", " * time: 0.6916451454162598\n", " 198 1.692467e+01 8.306993e-03\n", " * time: 0.6945481300354004\n", " 199 1.692466e+01 6.032933e-03\n", " * time: 0.6974780559539795\n", " 200 1.692466e+01 5.268863e-03\n", " * time: 0.700329065322876\n", " 201 1.692465e+01 4.939395e-03\n", " * time: 0.7031831741333008\n", " 202 1.692465e+01 7.021356e-03\n", " * time: 0.7060720920562744\n", " 203 1.692464e+01 4.445810e-03\n", " * time: 0.7096750736236572\n", " 204 1.692464e+01 4.600418e-03\n", " * time: 0.7125282287597656\n", " 205 1.692464e+01 6.647066e-03\n", " * time: 0.7153661251068115\n", " 206 1.692464e+01 6.145870e-03\n", " * time: 0.7182731628417969\n", " 207 1.692463e+01 4.611367e-03\n", " * time: 0.7212212085723877\n", " 208 1.692463e+01 4.454099e-03\n", " * time: 0.7242221832275391\n", " 209 1.692463e+01 7.784911e-03\n", " * time: 0.7271101474761963\n", " 210 1.692462e+01 6.008671e-03\n", " * time: 0.7300601005554199\n", " 211 1.692462e+01 4.255594e-03\n", " * time: 0.7329092025756836\n", " 212 1.692462e+01 4.357171e-03\n", " * time: 0.7357931137084961\n", " 213 1.692461e+01 4.610036e-03\n", " * time: 0.7386910915374756\n", " 214 1.692461e+01 4.192991e-03\n", " * time: 0.741657018661499\n", " 215 1.692461e+01 7.146883e-03\n", " * time: 0.7445251941680908\n", " 216 1.692461e+01 7.641390e-03\n", " * time: 0.7473471164703369\n", " 217 1.692461e+01 4.846327e-03\n", " * time: 0.7502012252807617\n", " 218 1.692460e+01 4.209031e-03\n", " * time: 0.7530801296234131\n", " 219 1.692460e+01 2.824560e-03\n", " * time: 0.7560281753540039\n", " 220 1.692460e+01 3.174169e-03\n", " * time: 0.7588942050933838\n", " 221 1.692460e+01 2.681620e-03\n", " * time: 0.7617740631103516\n", " 222 1.692460e+01 3.192796e-03\n", " * time: 0.7646291255950928\n", " 223 1.692459e+01 2.728014e-03\n", " * time: 0.7674651145935059\n", " 224 1.692459e+01 2.927397e-03\n", " * time: 0.7703170776367188\n", " 225 1.692459e+01 3.432120e-03\n", " * time: 0.7732861042022705\n", " 226 1.692459e+01 6.250026e-03\n", " * time: 0.7762560844421387\n", " 227 1.692459e+01 7.522768e-03\n", " * time: 0.7791211605072021\n", " 228 1.692459e+01 4.439766e-03\n", " * time: 0.7820532321929932\n", " 229 1.692458e+01 3.679888e-03\n", " * time: 0.7850840091705322\n", " 230 1.692458e+01 3.369166e-03\n", " * time: 0.8004810810089111\n", " 231 1.692458e+01 2.901055e-03\n", " * time: 0.8036470413208008\n", " 232 1.692458e+01 2.098258e-03\n", " * time: 0.8067021369934082\n", " 233 1.692458e+01 2.239497e-03\n", " * time: 0.8096461296081543\n", " 234 1.692458e+01 2.540167e-03\n", " * time: 0.8126192092895508\n", " 235 1.692458e+01 2.398005e-03\n", " * time: 0.8155410289764404\n", " 236 1.692458e+01 3.684628e-03\n", " * time: 0.8184781074523926\n", " 237 1.692458e+01 4.677719e-03\n", " * time: 0.8214590549468994\n", " 238 1.692457e+01 3.831641e-03\n", " * time: 0.8254520893096924\n", " 239 1.692457e+01 2.725867e-03\n", " * time: 0.8284890651702881\n", " 240 1.692457e+01 2.449756e-03\n", " * time: 0.8313801288604736\n", " 241 1.692457e+01 2.666693e-03\n", " * time: 0.8343410491943359\n", " 242 1.692457e+01 1.973594e-03\n", " * time: 0.8372831344604492\n", " 243 1.692457e+01 1.731957e-03\n", " * time: 0.8401880264282227\n", " 244 1.692457e+01 1.898548e-03\n", " * time: 0.8431200981140137\n", " 245 1.692457e+01 2.313121e-03\n", " * time: 0.846027135848999\n", " 246 1.692457e+01 1.916604e-03\n", " * time: 0.8489091396331787\n", " 247 1.692457e+01 2.658616e-03\n", " * time: 0.8517520427703857\n", " 248 1.692457e+01 1.029101e-03\n", " * time: 0.8554091453552246\n", " 249 1.692457e+01 1.438244e-03\n", " * time: 0.858342170715332\n", " 250 1.692457e+01 1.655250e-03\n", " * time: 0.8612031936645508\n", " 251 1.692457e+01 1.343757e-03\n", " * time: 0.8640940189361572\n", " 252 1.692457e+01 1.199750e-03\n", " * time: 0.8669872283935547\n", " 253 1.692456e+01 1.122505e-03\n", " * time: 0.8698420524597168\n", " 254 1.692456e+01 1.087641e-03\n", " * time: 0.8727140426635742\n", " 255 1.692456e+01 9.135070e-04\n", " * time: 0.8755741119384766\n", " 256 1.692456e+01 1.115367e-03\n", " * time: 0.878472089767456\n", " 257 1.692456e+01 1.754461e-03\n", " * time: 0.8814191818237305\n", " 258 1.692456e+01 1.137731e-03\n", " * time: 0.8842940330505371\n", " 259 1.692456e+01 1.200869e-03\n", " * time: 0.8871080875396729\n", " 260 1.692456e+01 1.301967e-03\n", " * time: 0.8900430202484131\n", " 261 1.692456e+01 2.290386e-03\n", " * time: 0.8929500579833984\n", " 262 1.692456e+01 1.970136e-03\n", " * time: 0.8957901000976562\n", " 263 1.692456e+01 1.323709e-03\n", " * time: 0.8986451625823975\n", " 264 1.692456e+01 1.392199e-03\n", " * time: 0.9015030860900879\n", " 265 1.692456e+01 1.117129e-03\n", " * time: 0.904412031173706\n", " 266 1.692456e+01 1.409184e-03\n", " * time: 0.9072551727294922\n", " 267 1.692456e+01 1.635782e-03\n", " * time: 0.9100921154022217\n", " 268 1.692456e+01 1.613999e-03\n", " * time: 0.9129152297973633\n", " 269 1.692456e+01 1.216287e-03\n", " * time: 0.9157381057739258\n", " 270 1.692456e+01 1.743442e-03\n", " * time: 0.9185791015625\n", " 271 1.692456e+01 1.508630e-03\n", " * time: 0.9214742183685303\n", " 272 1.692456e+01 2.612527e-03\n", " * time: 0.92435622215271\n", " 273 1.692456e+01 1.488600e-03\n", " * time: 0.9271972179412842\n", " 274 1.692456e+01 1.084616e-03\n", " * time: 0.9300580024719238\n", " 275 1.692456e+01 1.142402e-03\n", " * time: 0.9329061508178711\n", " 276 1.692456e+01 8.282857e-04\n", " * time: 0.9357140064239502\n", " 277 1.692456e+01 8.598561e-04\n", " * time: 0.938575029373169\n", " 278 1.692456e+01 8.649008e-04\n", " * time: 0.9414470195770264\n", " 279 1.692456e+01 8.224223e-04\n", " * time: 0.9565701484680176\n", " 280 1.692456e+01 9.053413e-04\n", " * time: 0.959705114364624\n", " 281 1.692456e+01 1.056441e-03\n", " * time: 0.9626901149749756\n", " 282 1.692456e+01 1.237316e-03\n", " * time: 0.9656760692596436\n", " 283 1.692456e+01 1.610451e-03\n", " * time: 0.9685781002044678\n", " 284 1.692456e+01 9.789615e-04\n", " * time: 0.9714891910552979\n", " 285 1.692456e+01 8.806035e-04\n", " * time: 0.9744300842285156\n", " 286 1.692456e+01 1.513746e-03\n", " * time: 0.977506160736084\n", " 287 1.692456e+01 8.878671e-04\n", " * time: 0.9804420471191406\n", " 288 1.692456e+01 8.729504e-04\n", " * time: 0.9833440780639648\n", " 289 1.692456e+01 6.579990e-04\n", " * time: 0.9862890243530273\n", " 290 1.692456e+01 6.062491e-04\n", " * time: 0.9891982078552246\n", " 291 1.692456e+01 5.755843e-04\n", " * time: 0.9921460151672363\n", " 292 1.692456e+01 8.264272e-04\n", " * time: 0.9950191974639893\n", " 293 1.692456e+01 7.195495e-04\n", " * time: 0.997967004776001\n", " 294 1.692456e+01 1.106296e-03\n", " * time: 1.0008530616760254\n", " 295 1.692456e+01 8.500842e-04\n", " * time: 1.0037500858306885\n", " 296 1.692456e+01 9.691503e-04\n", " * time: 1.0067191123962402\n", " 297 1.692456e+01 4.412338e-04\n", " * time: 1.010416030883789\n", " 298 1.692456e+01 3.839236e-04\n", " * time: 1.0133440494537354\n", " 299 1.692456e+01 5.936593e-04\n", " * time: 1.016287088394165\n", " 300 1.692456e+01 6.330536e-04\n", " * time: 1.0193672180175781\n", " 301 1.692456e+01 7.341881e-04\n", " * time: 1.022416114807129\n", " 302 1.692456e+01 9.926249e-04\n", " * time: 1.025400161743164\n", " 303 1.692456e+01 8.358869e-04\n", " * time: 1.028459072113037\n", " 304 1.692456e+01 9.865026e-04\n", " * time: 1.0313360691070557\n", " 305 1.692455e+01 6.347890e-04\n", " * time: 1.03428316116333\n", " 306 1.692455e+01 4.978923e-04\n", " * time: 1.037208080291748\n", " 307 1.692455e+01 5.935378e-04\n", " * time: 1.0401132106781006\n", " 308 1.692455e+01 6.169894e-04\n", " * time: 1.0429701805114746\n", " 309 1.692455e+01 1.092115e-03\n", " * time: 1.0459120273590088\n", " 310 1.692455e+01 6.561333e-04\n", " * time: 1.0488121509552002\n", " 311 1.692455e+01 6.562225e-04\n", " * time: 1.0518760681152344\n", " 312 1.692455e+01 6.531028e-04\n", " * time: 1.0548880100250244\n", " 313 1.692455e+01 5.045847e-04\n", " * time: 1.0578081607818604\n", " 314 1.692455e+01 5.578557e-04\n", " * time: 1.0606510639190674\n", " 315 1.692455e+01 4.327248e-04\n", " * time: 1.063474178314209\n", " 316 1.692455e+01 4.528838e-04\n", " * time: 1.0663440227508545\n", " 317 1.692455e+01 5.057106e-04\n", " * time: 1.0691912174224854\n", " 318 1.692455e+01 4.942532e-04\n", " * time: 1.072181224822998\n", " 319 1.692455e+01 4.256146e-04\n", " * time: 1.0750541687011719\n", " 320 1.692455e+01 8.296455e-04\n", " * time: 1.077956199645996\n", " 321 1.692455e+01 4.275489e-04\n", " * time: 1.0808250904083252\n", " 322 1.692455e+01 5.038429e-04\n", " * time: 1.0840380191802979\n", " 323 1.692455e+01 5.220405e-04\n", " * time: 1.0868611335754395\n", " 324 1.692455e+01 6.294470e-04\n", " * time: 1.0897140502929688\n", " 325 1.692455e+01 6.091691e-04\n", " * time: 1.0925312042236328\n", " 326 1.692455e+01 4.634284e-04\n", " * time: 1.0953240394592285\n", " 327 1.692455e+01 4.596974e-04\n", " * time: 1.0981462001800537\n", " 328 1.692455e+01 4.326521e-04\n", " * time: 1.1009881496429443\n", " 329 1.692455e+01 4.105352e-04\n", " * time: 1.116300106048584\n", " 330 1.692455e+01 5.716851e-04\n", " * time: 1.119300127029419\n", " 331 1.692455e+01 8.835625e-04\n", " * time: 1.122251033782959\n", " 332 1.692455e+01 6.008388e-04\n", " * time: 1.1252272129058838\n", " 333 1.692455e+01 5.378847e-04\n", " * time: 1.1281712055206299\n", " 334 1.692455e+01 5.274559e-04\n", " * time: 1.1310880184173584\n", " 335 1.692455e+01 8.575494e-04\n", " * time: 1.1340210437774658\n", " 336 1.692455e+01 7.967053e-04\n", " * time: 1.1369361877441406\n", " 337 1.692455e+01 5.130548e-04\n", " * time: 1.1398041248321533\n", " 338 1.692455e+01 5.417151e-04\n", " * time: 1.142775058746338\n", " 339 1.692455e+01 4.141536e-04\n", " * time: 1.1456761360168457\n", " 340 1.692455e+01 3.698299e-04\n", " * time: 1.1485791206359863\n", " 341 1.692455e+01 2.947348e-04\n", " * time: 1.1513981819152832\n", " 342 1.692455e+01 4.512710e-04\n", " * time: 1.1543350219726562\n", " 343 1.692455e+01 3.897751e-04\n", " * time: 1.157257080078125\n", " 344 1.692455e+01 3.588674e-04\n", " * time: 1.160161018371582\n", " 345 1.692455e+01 4.446062e-04\n", " * time: 1.162994146347046\n", " 346 1.692455e+01 5.181060e-04\n", " * time: 1.1658461093902588\n", " 347 1.692455e+01 5.059089e-04\n", " * time: 1.168788194656372\n", " 348 1.692455e+01 3.414637e-04\n", " * time: 1.1716241836547852\n", " 349 1.692455e+01 3.900721e-04\n", " * time: 1.1745171546936035\n", " 350 1.692455e+01 3.127199e-04\n", " * time: 1.1774771213531494\n", " 351 1.692455e+01 2.887620e-04\n", " * time: 1.1803460121154785\n", " 352 1.692455e+01 3.611842e-04\n", " * time: 1.183265209197998\n", " 353 1.692455e+01 4.913327e-04\n", " * time: 1.18644118309021\n", " 354 1.692455e+01 3.764485e-04\n", " * time: 1.1894831657409668\n", " 355 1.692455e+01 4.621964e-04\n", " * time: 1.192451000213623\n", " 356 1.692455e+01 4.146901e-04\n", " * time: 1.1953601837158203\n", " 357 1.692455e+01 6.951273e-04\n", " * time: 1.1982300281524658\n", " 358 1.692455e+01 4.787488e-04\n", " * time: 1.2018561363220215\n", " 359 1.692455e+01 4.483234e-04\n", " * time: 1.2047481536865234\n", " 360 1.692455e+01 3.026356e-04\n", " * time: 1.207590103149414\n", " 361 1.692455e+01 2.491123e-04\n", " * time: 1.2104871273040771\n", " 362 1.692455e+01 2.133312e-04\n", " * time: 1.2133970260620117\n", " 363 1.692455e+01 3.195671e-04\n", " * time: 1.2163341045379639\n", " 364 1.692455e+01 2.916192e-04\n", " * time: 1.219198226928711\n", " 365 1.692455e+01 2.721429e-04\n", " * time: 1.222053050994873\n", " 366 1.692455e+01 2.278394e-04\n", " * time: 1.2250361442565918\n", " 367 1.692455e+01 4.367250e-04\n", " * time: 1.2279131412506104\n", " 368 1.692455e+01 2.436803e-04\n", " * time: 1.2307610511779785\n", " 369 1.692455e+01 2.423816e-04\n", " * time: 1.2336580753326416\n", " 370 1.692455e+01 3.165840e-04\n", " * time: 1.2365310192108154\n", " 371 1.692455e+01 2.357411e-04\n", " * time: 1.239361047744751\n", " 372 1.692455e+01 1.905052e-04\n", " * time: 1.242246150970459\n", " 373 1.692455e+01 1.523926e-04\n", " * time: 1.2451891899108887\n", " 374 1.692455e+01 2.406829e-04\n", " * time: 1.2480640411376953\n", " 375 1.692455e+01 2.518123e-04\n", " * time: 1.2509071826934814\n", " 376 1.692455e+01 1.925266e-04\n", " * time: 1.2537381649017334\n", " 377 1.692455e+01 1.718078e-04\n", " * time: 1.2566580772399902\n", " 378 1.692455e+01 2.972452e-04\n", " * time: 1.271653175354004\n", " 379 1.692455e+01 1.926249e-04\n", " * time: 1.2756521701812744\n", " 380 1.692455e+01 1.287648e-04\n", " * time: 1.2786080837249756\n", " 381 1.692455e+01 1.262379e-04\n", " * time: 1.281548023223877\n", " 382 1.692455e+01 1.569976e-04\n", " * time: 1.2845141887664795\n", " 383 1.692455e+01 2.155092e-04\n", " * time: 1.287386178970337\n", " 384 1.692455e+01 1.756221e-04\n", " * time: 1.2903361320495605\n", " 385 1.692455e+01 2.019879e-04\n", " * time: 1.293227195739746\n", " 386 1.692455e+01 1.669223e-04\n", " * time: 1.2961602210998535\n", " 387 1.692455e+01 1.650227e-04\n", " * time: 1.2990951538085938\n", " 388 1.692455e+01 2.451868e-04\n", " * time: 1.3020541667938232\n", " 389 1.692455e+01 2.571773e-04\n", " * time: 1.3049771785736084\n", " 390 1.692455e+01 2.439582e-04\n", " * time: 1.3077831268310547\n", " 391 1.692455e+01 1.791865e-04\n", " * time: 1.3107221126556396\n", " 392 1.692455e+01 1.522313e-04\n", " * time: 1.313615083694458\n", " 393 1.692455e+01 1.305680e-04\n", " * time: 1.3165051937103271\n", " 394 1.692455e+01 1.619596e-04\n", " * time: 1.3193330764770508\n", " 395 1.692455e+01 2.477521e-04\n", " * time: 1.3222222328186035\n", " 396 1.692455e+01 1.858826e-04\n", " * time: 1.325160026550293\n", " 397 1.692455e+01 2.476500e-04\n", " * time: 1.3280401229858398\n", " 398 1.692455e+01 2.189784e-04\n", " * time: 1.3309051990509033\n", " 399 1.692455e+01 1.873756e-04\n", " * time: 1.3337500095367432\n", " 400 1.692455e+01 2.115464e-04\n", " * time: 1.3366801738739014\n", " 401 1.692455e+01 1.480721e-04\n", " * time: 1.3395271301269531\n", " 402 1.692455e+01 1.439411e-04\n", " * time: 1.342358112335205\n", " 403 1.692455e+01 1.285992e-04\n", " * time: 1.345285177230835\n", " 404 1.692455e+01 1.083593e-04\n", " * time: 1.348130226135254\n", " 405 1.692455e+01 1.006480e-04\n", " * time: 1.3509740829467773\n", " 406 1.692455e+01 1.407238e-04\n", " * time: 1.3538410663604736\n", " 407 1.692455e+01 1.191297e-04\n", " * time: 1.3566920757293701\n", " 408 1.692455e+01 1.640681e-04\n", " * time: 1.359593152999878\n", " 409 1.692455e+01 1.217045e-04\n", " * time: 1.3624560832977295\n", " 410 1.692455e+01 1.689804e-04\n", " * time: 1.3653650283813477\n", " 411 1.692455e+01 1.681272e-04\n", " * time: 1.3682281970977783\n", " 412 1.692455e+01 1.021575e-04\n", " * time: 1.371068000793457\n", " 413 1.692455e+01 1.062515e-04\n", " * time: 1.3739290237426758\n", " 414 1.692455e+01 9.342772e-05\n", " * time: 1.3768970966339111\n", " 415 1.692455e+01 1.232069e-04\n", " * time: 1.3797190189361572\n", " 416 1.692455e+01 6.087747e-05\n", " * time: 1.382660150527954\n" ] }, { "output_type": "execute_result", "data": { "text/plain": "Plot{Plots.GRBackend() n=1}", "image/png": "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aIC//oiIKDQF4YSw0kDYq1evXr166T+fOnXqk08+mTBhwuuvv75gwQL9rjVr1vz73/9+5JFHTOoqERGReucdI3S73UVFRdnZ2UuXLr311ltPnTqVmZnZrVs3/d5u3bpt3brVjE4SEVFwCCA+YfqlZc5bEd61a1dqamp6erqmaf/4xz9OnToVERERFRWl39uoUaNTp05V+fuyMnB4hoiI/hzcbnyehBD/vzzq1z9TnTcQpqen5+XlFRYWpqamDh8+PDo62uFw+B752bNnY2Jiqvy93W6vpZ4SEZGprFZwWlmQusg5QpGRkffff/93332XnJxssViOHDmi33748OGmTZtW/XsLk4hERPQ7PVDv3z+z+3xuGDtw4IDH4xFCeDyeJUuWpKen16tX75Zbbpk3b54Q4tSpUytXrhw2bJhpPSUiojpP034/TOgPk/t87mSZ6dOnL1++vGnTppmZmcnJyR988IEQ4p///OeAAQPWrl174sSJkSNHdurUybyuEhERqXduIJw7d+6LL76YmZnZuHHjJk2a6GP0ZZddtn///r179yYkJCQmJl74916vgrq7sIFMphW2cTmN1t2VyfXDNngvKJetpEgsbAD/kxZZD1+WKD4JFOaF/xOMigmHe4HgNR+s8KIQKOouhHCiN5gXvW42DzjQYLHibuBAvUQq3zjjHbVaJd7nYei7BTaAHzfUQEh8moxfzcMlcTUPeHEA+NUhc7EOLAiDhOd9lyUkJCQkJFRpYbVaL3JBGSIiogsE4TjIi24TEVFo40W3iYhInSAM1HMgJCIipUxf6/QTB0IiIlImgMK8Zk8IeYyQiIhCG2eERESkTAAJedMT9QoGQhixgiku40FDIZGAkQgMqYgz1nxoUubZgG1wtWSUWzqaUQC78dMXR6tvAFNLh/fkwb2UloC6u/jBKqnOWiF3PWIDrF78fSHxnQIeiwVV7rVIROs0DT2lFrAXpw0/nzYHWNNyohyhDed660aIWepTb7RGukxeFqsDF9H2F5dGiYgopHFplIiIlAngZBnTZ5AcCImISJkA6kmYPQ5yICQiorpt06ZNM2bMKCoqGjhw4JgxYyofCM/MzJw8efLhw4c7duz47LPPRkdHFxQUfP7557/88ovL5Zo1a5be7JlnnsnNzdV/TktLe+yxxypvn8cIiYhInQDK01c7JTx58uRNN93Us2fPcePGzZw5c+7cub67vF7vgAEDbDbbc889t3v37gceeEAIsX379n//+985OTnvvfeer+XixYsTEhI6duzYsWPHSy+9tMouOCMkIiKF/I9PVDsSvv3223369HnooYeEEC+//PKkSZP0AU8IsX79+uzs7NmzZ1ssltatWzdv3vyVV1654YYbbrjhho0bN65cubLydgYNGtSxY8eL7oIzQiIiqru2bdvWrVs3/edu3brt3bu3tLRU//WXX37p2rWrxWIRQjRp0qRZs2Y7duz4o+288MIL995772uvvVZeXl7lLqMzQpl6hDjhhxtIZGgMR2SUdMOL9uJFQR24F6dEZTKYKLKgFBfMLR3dj3OEp06UVN8AvjcKz1R9y16oosxVfQOLFT1YlOJySGQEXU5U9dCG/psM/xstkfLyokZeFEaEb1EvbCHRBn5SZGrjGQ+A4tiuRIRUxXeg0bqJQiqQDfuJHyyk/KzR7Ozshg0b6j/HxcUJIU6dOtWyZUv9B99d+r3Z2dkX3chdd93Vpk0bt9v95ptvLlu27JtvvtGHTx2XRomISJ2AChKuXbu2WbNmlW9bvXr1FVdcIYSIiYkpKyvTb9TngjExMfqv0dHRx44d8/1JaWmp764qpk6dqv8waNCglJSUTZs2XXvttb57ORASEZEygVxiTWjXXXfdvHnzKt+YlJSk/9CsWbNDhw7pPx86dKhevXqNGjXy3bVq1Sr9Z6fTefz48ebNm1e/r9jY2Pj4eN8ZpDoeIyQiIpNFRkY2O19YWJh+17Bhw5YuXZqfny+EmDt37h133KFp2rfffrt69eqBAwfu2bNn69atQoiPPvooMTGxQ4cOF248Ly/v9OnT+s/Lli3LycmpctYMZ4RERKRMQCuj1enTp0///v0vv/zyxo0bu93uNWvWCCGWLVuWm5vbr1+/V1999cYbb0xNTT127NiHH36oadrRo0evvvpql8tVUlISFxeXmpr65ptv3nDDDU2bNnU6ncXFxfPnz09OTq68Cw6ERESkjuqRUNO0t956a/LkyYWFhW3atNFPcpk5c6Z+QtZ99933t7/97dixY6mpqZGRkUKI5s2b5+VVvVh/bm7ukSNHwsPDmzVrZrNVHfg4EBIRUV2XlJTkO2oohKg8mMXGxrZr1676P4+IiGjbtu0f3cuBkIiIlNECqC9o9sVGDQ+EXi9OzhkODMkkilR0w2gNPyEErOdlPF8lUxsPdlVDp0nB7F05Su8JIc4WOapvYDxfJSQykfASwEpqQEKwn5BbRbk4TTP8QfDgByIRNVQAfppgeljiwUp86g2nh73o/SXTDZylrpV6hAHkCM0eB3nWKBERhTYujRIRkTrKTxuteRwIiYhInQAC9X5fk00xDoRERKRMMFao5zFCIiIKaRwIiYgopHFplIiIlNFUF+atBQoGQhg8wck53AB3AweGjDeQiTPCNvj5AvdL1WlDwTgcNES7sIVJLCfgxwL6qbnwJ0SiDJvRBjDcKSQO+ONSlPBVk+oGaoG2gXOZFpyq1NBGrDbw/qmtJCJooChHaLiBRDdwVNpw3vHPijNCIiJSJpBAvdkny3AgJCIiZQKpR2j2SMiTZYiIKKRxRkhEROoEcGUZs3EgJCIidRioJyIiCi6cERIRkTKa0PzNBZo9IeRASERECoVo9QnjGUzDxWxrpxseiW7gyCrcBFxfl3jTwIS40wEawEi+XMYcNgFg4l4I4XS4q29gPKguFzRGRYZhbF9FnNkWBuPwRnchlTE3fBEDmZfe67FW3wC/AVELmfe58YK3Sl56nMrHX7UKuqH5/8E3exzkMUIiIgptXBolIiJlNM3/gLzZgXoOhEREpE4QHiPk0igREYU0zgiJiEiZQC66XTM9kceBkIiIlOFFt4mIiIKMihkhHMuNN1AB/qcDlhKV6aZEUgdVxEX/OYF1U4XEg4XBJpgjhDkwIYQbRcFgnNFRDjKCQgiXRE8A49VspaJg8KVHxWyt+H+u4REgWhduBw2sNqOfFCGEBXUVPuUyBaiN5/PwNVAkPvYwwOeB79DaqYhbGzHCoMSlUSIiUokX3SYiIgomnBESEZEygZwsU0NdkcaBkIiI1AnCQD0HQiIiUobxCSIioiDDGSERESkTwJVlTFc7A2Ht5ATR/agBzOdZrDLVzUAbmNSB+5DpBoyCwY1YQNhMuF2wFzjmBWvOyZSitKLHAnNvsOacG6cZBXxtrTawAAMb2MLwEg5sA9/ncJ3KhvophAhDaUW4EZm0olSlUrAX0EBJbNd4WUSZoQUvMAbb+FRruDRKREQhjUujRESkTDCeLMOBkIiIVAq2urxcGiUiotDGGSEREanDQD0REYWyAI4Rmo5Lo0REFNIMzwglspMWw0kdNVEe1ECiG/j/DUqKGoItSPxvC3YDprg8YSAH5pUoAuiBddpwzTmZ/BRuUj1YfFFI1MaD7x+Y8IPlBmVic/CxwHAnzGXKfB7xsxFuNO8oVJxtKPG1gD/1MJWLvxbQTqQ+9TiMCL8k4U6wAAL1pk8guTRKRETqBHaM0NSiwBwIiYhIGU3iAlsX/Akvuk1ERGQezgiJiEgZLYBAfc30RB4HQiIiUicIjxFyaaqb6ncAAB2tSURBVJSIiEIaZ4RERKROAIF6s/MT5wbCPXv2zJw5c8uWLZqm9e7d+7nnnouNjS0vLx8/fvyaNWvi4+OnTJnSu3fvC7agwbiPF+bzUKbNgvJVQirKA7aAK5OhEn1CJoOFHotMGTZIIlEEGuBUJSp5KISwulFa0QYWRDQNr5jAdB1MK8J6hDKsMCaI3uewGzACKISwR4K3aVR0GNxI9dwSqUr4nOOqhxLFF2HyUsEHQc2n3nCIWaIKKfxusapIbEOB5AiN79WYc0/crl27Lrvssvfee2/+/PmbN29++OGHhRCTJk3asWPH559//uijjw4ePDg7O9u8rhIREal3bkY4dOhQ388TJkwYPXq00+l85513/vOf/7Rq1apVq1bvv//+woUL//u//9uMfhIRURAIqB5hDfVF1sWn0ps2bUpLS8vKysrLy+vYsaN+Y8eOHXft2lWLfSMiIqpxFzlZZtOmTbNmzfr2229zc3MjIiLsdrt+e4MGDU6fPl2l8dmzZ2u8j0REVAe43W6rVeKoabCpOiPcvn37wIED33///fT09AYNGlRUVLhcLv2u4uLihg0bVmkfFRVVG90kIiKzyYyC+skyfv0z/WyZ8wbC3bt39+/ff86cObfeeqsQIikpyW63Z2Rk6PdmZGS0atWqyt8HXd0pIiKqOdrvRwn9YfZIeG4g3LdvX58+fSZOnNirV6/8/Pz8/PzIyMghQ4bMmDHD6/VmZGSsWrXqrrvuMrGvRERU12kB/TPVuYHwP//5T0VFxTPPPJOampqamtq6dWshxPTp0w8ePBgfH3/ttde++OKLbdu2Na+rRERE6p07WWbcuHHjxo2rcneTJk2+++67s2fPRkREXHR1WNNwBtMLY54oK2qTyW4bj6ziTKtEwheFpmFMGJbMtUo8GziVb7hEp6JKoUYb6K2qv1umnm314IsihAi3g8Mn8P3jcrqrbxBZD2fhW6XFgQZXgAalxY7qGxzakw+7UVJUAVqgF0UqUI+vxVHj9bqFRK6/Fr6dhMQ3A7wIhkxsH/rTFuatV69eTfeDiIj+DAK4xJrZa6O86DYREYU0XnSbiIjUCawMU7VOnz69YMGCwsLC2267rXPnzpXvcjgc77///sGDBzt37jxo0CBN07xe72+//bZ169aysrKRI0f6Wq5YsWLjxo2tWrW65557fPl4HWeERESkjPKTRouKirp06bJr166oqKi+ffuuXr268r133HHHwoULGzdu/Oyzz06aNEkI8fnnn19zzTXTp09/4oknfM2ef/75cePGJSQkfPjhh4MGDaqyC84IiYio7nr//febNm363nvvCSEaNGjw0ksv9evXT79r586d69aty8zMjImJuemmm6699tpx48b17ds3Nzd348aNvmalpaUzZ8788ssvO3Xq9OCDD6akpPz888+dOnXy7YIzQiIiUkYTgSTqq7F+/XrfkNavX78ff/zR4fj9xOZvvvmme/fuMTExQoi0tLT69ev//PPPNlvVCd6vv/5qs9n0kS8yMvL666//5ptvKjfgQEhEROqoXhvNyspKSEjQf05MTPR4PL6CgFlZWY0bN/a1TExMzMrKuugWqm+mYGlUgxEZFOKCIRuYFhIy+bwwEPOSaABiXnLdQA3CQYMwJ77cnyvMU30Dtws08HhQNEqiSKzbcJliIUA/BQ6kCasXHrtXUBoa5gghL3rO6zeKgBtJ79ak+gbdB7SovkFuFriSvqMCfxB+251XfQMYdZXJERpP5cLknMyXjzXM6EZwElGmGziCbDTvKCOAHKEQYsuWLUOGDKl8yyuvvNKiRQshhNVq9Xh+/x7Qr30dFvZ7oNZms/nuEkK43e4Lp4MXbebbwu8N/O4vERGRUikpKcOGDat8i6/GQ0pKSmZmpv5zZmamzWbzTe+Sk5N/+OEH/Wev15uVlZWcnHzhxpOSkrKzsz0ej8Vi0TfSrl27yg04EBIRkTIBFebVkpOTq8wIfW6++ebp06dPnDjRZrN98skn/fr1s1qthw8fdrlc/fv3Hzt2bFZWVlJS0o8//ujxeLp06XLhFjp06BAVFfXVV1/deOONubm533///axZsyo34EBIRETqqM4RDhky5PXXX+/du3fr1q0//fRTPT7xP//zP7m5uYsWLRo9evQNN9zQp0+fTz/99Pnnn7fb7dnZ2XfffXdhYeHZs2dv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5s6du27dury8vLlz5zZs2FAIwae07uBAaLIrrrgiLy/PtzCycePGq6++2twuBZfS0tLbbrutbdu2r776qn5L+/btN2zYoP+8b98+p9PZpk0b8zoYxBo1aiSEKCsra9++/caNG/Ub+Rb1i91uHzp06LZt27Zu3Xro0KHy8vKtW7eGh4e3adNm06ZNepsNGzbwKTUXL7FWq0pLSz/77LPffvtt6tSpCxYsiI6O7t+//8iRI3NycqZMmbJs2bJly5bt27fParWa3dOgMWDAAP351K/Xeumll15xxRWtW7ceNWrUzTffPGHChMsuu2zOnDlmdzNoLF++PCcnp127dkVFRa+99lpxcfH333+/bt264cOHv//++y6X69577125cmWPHj3M7mnwWbp06dSpU3fu3CmEmD179uzZs99+++2MjIwnn3xy165dTZs2NbuDocs6efJks/sQQoqLi+fNm1dQUJCenn7o0KG8vLxevXrdeOON+/bte+edd2w227vvvhsXF2d2N4PJtm3bkpOTDx8+fOjQoUOHDsXGxqanp99yyy3Lly9funRp9+7dX3zxRV4wWl5paemKFSuWLFmyY8eObt26vfrqqxEREampqc2bN//f//3fn3/++fnnn7/pppvM7mZQKi8vt9lsPXv2FEJ07tzZ6/W+8cYbx48ff+ONN0y83jQJzgiJiCjE8RghERGFNA6EREQU0jgQEhFRSONASEREIY0DIRERhbT/Ayvm7jTZM2RvAAAAAElFTkSuQmCC", "text/html": [ "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", "\n", "\n", "\n" ], "image/svg+xml": [ "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", "\n", "\n", "\n" ] }, "metadata": {}, "execution_count": 5 } ], "cell_type": "code", "source": [ "terms = [Kinetic(),\n", " ExternalFromReal(X -> pot(X...)),\n", " PowerNonlinearity(C, α),\n", " Magnetic(Apot),\n", "]\n", "model = Model(lattice; n_electrons=n_electrons,\n", " terms=terms, spin_polarization=:spinless) # \"spinless electrons\"\n", "basis = PlaneWaveBasis(model, Ecut, kgrid=(1, 1, 1))\n", "scfres = direct_minimization(basis, tol=1e-5) # Reduce tol for production\n", "heatmap(scfres.ρ.real[:, :, 1], c=:blues)" ], "metadata": {}, "execution_count": 5 } ], "nbformat_minor": 3, "metadata": { "language_info": { "file_extension": ".jl", "mimetype": "application/julia", "name": "julia", "version": "1.3.1" }, "kernelspec": { "name": "julia-1.3", "display_name": "Julia 1.3.1", "language": "julia" } }, "nbformat": 4 }