{ "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.\n", "We reproduce here the results of https://arxiv.org/pdf/1611.02045.pdf Fig. 10" ], "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 = 15\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)/2\n", "ω = .6\n", "Apot(x, y, z) = ω * @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", "η = 500\n", "C = η/2\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.092949e+01 7.144394e+00\n", " * time: 0.0018329620361328125\n", " 1 3.039245e+01 4.509089e+00\n", " * time: 0.007828950881958008\n", " 2 2.078743e+01 4.382530e+00\n", " * time: 0.014898061752319336\n", " 3 1.507186e+01 3.588408e+00\n", " * time: 0.02097296714782715\n", " 4 1.200423e+01 1.828797e+00\n", " * time: 0.027698993682861328\n", " 5 1.147697e+01 2.192761e+00\n", " * time: 0.034364938735961914\n", " 6 1.056654e+01 1.398145e+00\n", " * time: 0.039016008377075195\n", " 7 9.477255e+00 1.622747e+00\n", " * time: 0.0434720516204834\n", " 8 8.929882e+00 1.568717e+00\n", " * time: 0.047866106033325195\n", " 9 8.678980e+00 1.114768e+00\n", " * time: 0.05199003219604492\n", " 10 8.465320e+00 1.062911e+00\n", " * time: 0.055989980697631836\n", " 11 8.287403e+00 1.022523e+00\n", " * time: 0.06016397476196289\n", " 12 8.123438e+00 6.219178e-01\n", " * time: 0.06507611274719238\n", " 13 8.016256e+00 4.476339e-01\n", " * time: 0.06985902786254883\n", " 14 7.937866e+00 3.560243e-01\n", " * time: 0.07485198974609375\n", " 15 7.901210e+00 6.028070e-01\n", " * time: 0.0787210464477539\n", " 16 7.885194e+00 4.175437e-01\n", " * time: 0.08263301849365234\n", " 17 7.877753e+00 7.210553e-01\n", " * time: 0.0866250991821289\n", " 18 7.843726e+00 4.307479e-01\n", " * time: 0.09159207344055176\n", " 19 7.810886e+00 4.612220e-01\n", " * time: 0.09560203552246094\n", " 20 7.771616e+00 3.468957e-01\n", " * time: 0.09949588775634766\n", " 21 7.753548e+00 3.208861e-01\n", " * time: 0.10350394248962402\n", " 22 7.734905e+00 3.313122e-01\n", " * time: 0.10852289199829102\n", " 23 7.718152e+00 2.835561e-01\n", " * time: 0.11344695091247559\n", " 24 7.706856e+00 3.901759e-01\n", " * time: 0.11706089973449707\n", " 25 7.701661e+00 3.109875e-01\n", " * time: 0.1208341121673584\n", " 26 7.700990e+00 2.890605e-01\n", " * time: 0.15642595291137695\n", " 27 7.695612e+00 2.386133e-01\n", " * time: 0.1594541072845459\n", " 28 7.691636e+00 2.331825e-01\n", " * time: 0.16239690780639648\n", " 29 7.683439e+00 1.674815e-01\n", " * time: 0.1654679775238037\n", " 30 7.677170e+00 2.318238e-01\n", " * time: 0.16843295097351074\n", " 31 7.672712e+00 1.914697e-01\n", " * time: 0.17133307456970215\n", " 32 7.670791e+00 1.980980e-01\n", " * time: 0.17427396774291992\n", " 33 7.668600e+00 1.394941e-01\n", " * time: 0.17716693878173828\n", " 34 7.665276e+00 9.027116e-02\n", " * time: 0.18077397346496582\n", " 35 7.664891e+00 2.126395e-01\n", " * time: 0.18364405632019043\n", " 36 7.662996e+00 1.709069e-01\n", " * time: 0.18675804138183594\n", " 37 7.661378e+00 1.907077e-01\n", " * time: 0.18974900245666504\n", " 38 7.660759e+00 1.745404e-01\n", " * time: 0.19270896911621094\n", " 39 7.660378e+00 1.150397e-01\n", " * time: 0.1957099437713623\n", " 40 7.658113e+00 1.092295e-01\n", " * time: 0.19860291481018066\n", " 41 7.656312e+00 1.714183e-01\n", " * time: 0.20154404640197754\n", " 42 7.654793e+00 1.345714e-01\n", " * time: 0.20441889762878418\n", " 43 7.651451e+00 1.158949e-01\n", " * time: 0.20821905136108398\n", " 44 7.651082e+00 1.159841e-01\n", " * time: 0.21104693412780762\n", " 45 7.649434e+00 1.281182e-01\n", " * time: 0.21421289443969727\n", " 46 7.646652e+00 7.067507e-02\n", " * time: 0.2182319164276123\n", " 47 7.644570e+00 7.518722e-02\n", " * time: 0.22190594673156738\n", " 48 7.643033e+00 6.021664e-02\n", " * time: 0.22555088996887207\n", " 49 7.641780e+00 8.117246e-02\n", " * time: 0.22931408882141113\n", " 50 7.640602e+00 2.624572e-02\n", " * time: 0.23301196098327637\n", " 51 7.640491e+00 6.791138e-02\n", " * time: 0.23584699630737305\n", " 52 7.640415e+00 7.633086e-02\n", " * time: 0.2388620376586914\n", " 53 7.639948e+00 7.220428e-02\n", " * time: 0.24179291725158691\n", " 54 7.639241e+00 6.705693e-02\n", " * time: 0.24467706680297852\n", " 55 7.638300e+00 9.608251e-02\n", " * time: 0.24758696556091309\n", " 56 7.638262e+00 5.528776e-02\n", " * time: 0.2506740093231201\n", " 57 7.637424e+00 3.926671e-02\n", " * time: 0.2789750099182129\n", " 58 7.636904e+00 6.511189e-02\n", " * time: 0.28186798095703125\n", " 59 7.636484e+00 6.006467e-02\n", " * time: 0.28484606742858887\n", " 60 7.636103e+00 8.170569e-02\n", " * time: 0.28774189949035645\n", " 61 7.635239e+00 6.511558e-02\n", " * time: 0.2906229496002197\n", " 62 7.634345e+00 3.559750e-02\n", " * time: 0.29429197311401367\n", " 63 7.633650e+00 3.705961e-02\n", " * time: 0.29814791679382324\n", " 64 7.633483e+00 6.586718e-02\n", " * time: 0.3009200096130371\n", " 65 7.632622e+00 4.458498e-02\n", " * time: 0.3036930561065674\n", " 66 7.631810e+00 5.054105e-02\n", " * time: 0.3073410987854004\n", " 67 7.631024e+00 3.047601e-02\n", " * time: 0.3111259937286377\n", " 68 7.630530e+00 4.498980e-02\n", " * time: 0.313978910446167\n", " 69 7.629999e+00 3.212314e-02\n", " * time: 0.31752490997314453\n", " 70 7.629596e+00 3.507266e-02\n", " * time: 0.32129693031311035\n", " 71 7.629121e+00 4.462318e-02\n", " * time: 0.32411789894104004\n", " 72 7.628863e+00 4.731378e-02\n", " * time: 0.3269350528717041\n", " 73 7.628691e+00 6.594313e-02\n", " * time: 0.32981109619140625\n", " 74 7.628356e+00 2.989370e-02\n", " * time: 0.3334200382232666\n", " 75 7.627832e+00 5.030390e-02\n", " * time: 0.3362081050872803\n", " 76 7.627673e+00 3.972048e-02\n", " * time: 0.3391430377960205\n", " 77 7.627116e+00 3.337398e-02\n", " * time: 0.3419530391693115\n", " 78 7.626590e+00 3.622094e-02\n", " * time: 0.34461402893066406\n", " 79 7.626237e+00 3.772358e-02\n", " * time: 0.34746694564819336\n", " 80 7.626068e+00 5.355742e-02\n", " * time: 0.3503739833831787\n", " 81 7.625921e+00 6.319780e-02\n", " * time: 0.35317492485046387\n", " 82 7.625501e+00 5.445749e-02\n", " * time: 0.3560030460357666\n", " 83 7.625219e+00 6.489779e-02\n", " * time: 0.35884690284729004\n", " 84 7.624850e+00 6.726056e-02\n", " * time: 0.36181092262268066\n", " 85 7.624435e+00 5.616170e-02\n", " * time: 0.36464595794677734\n", " 86 7.624060e+00 5.613096e-02\n", " * time: 0.36748290061950684\n", " 87 7.623566e+00 3.248903e-02\n", " * time: 0.388261079788208\n", " 88 7.622762e+00 5.289825e-02\n", " * time: 0.3912529945373535\n", " 89 7.622200e+00 3.355599e-02\n", " * time: 0.39495301246643066\n", " 90 7.621552e+00 4.324419e-02\n", " * time: 0.3977320194244385\n", " 91 7.621128e+00 4.930253e-02\n", " * time: 0.4014160633087158\n", " 92 7.620677e+00 1.796776e-02\n", " * time: 0.4050929546356201\n", " 93 7.620090e+00 2.794969e-02\n", " * time: 0.40794897079467773\n", " 94 7.619696e+00 4.094311e-02\n", " * time: 0.41083788871765137\n", " 95 7.619402e+00 4.664244e-02\n", " * time: 0.41356492042541504\n", " 96 7.619316e+00 9.689157e-02\n", " * time: 0.4163360595703125\n", " 97 7.618821e+00 4.791369e-02\n", " * time: 0.42000603675842285\n", " 98 7.618453e+00 5.079010e-02\n", " * time: 0.42371392250061035\n", " 99 7.617900e+00 4.724327e-02\n", " * time: 0.4265270233154297\n", " 100 7.617323e+00 4.062095e-02\n", " * time: 0.42929601669311523\n", " 101 7.616996e+00 3.213397e-02\n", " * time: 0.4322481155395508\n", " 102 7.616759e+00 4.587416e-02\n", " * time: 0.435197114944458\n", " 103 7.616481e+00 2.313925e-02\n", " * time: 0.4387509822845459\n", " 104 7.616187e+00 3.874921e-02\n", " * time: 0.44160008430480957\n", " 105 7.615872e+00 3.122982e-02\n", " * time: 0.44446492195129395\n", " 106 7.615684e+00 3.908353e-02\n", " * time: 0.44733691215515137\n", " 107 7.615346e+00 2.199401e-02\n", " * time: 0.45098304748535156\n", " 108 7.615007e+00 2.563637e-02\n", " * time: 0.45381999015808105\n", " 109 7.614907e+00 3.994865e-02\n", " * time: 0.45656609535217285\n", " 110 7.614840e+00 5.328746e-02\n", " * time: 0.4593510627746582\n", " 111 7.614720e+00 3.870166e-02\n", " * time: 0.46227002143859863\n", " 112 7.614596e+00 5.527046e-02\n", " * time: 0.4651370048522949\n", " 113 7.614375e+00 3.061071e-02\n", " * time: 0.467972993850708\n", " 114 7.614209e+00 5.321926e-02\n", " * time: 0.4708380699157715\n", " 115 7.613845e+00 2.474032e-02\n", " * time: 0.47449588775634766\n", " 116 7.613610e+00 3.077614e-02\n", " * time: 0.4772670269012451\n", " 117 7.613259e+00 3.313034e-02\n", " * time: 0.48003506660461426\n", " 118 7.612879e+00 2.420330e-02\n", " * time: 0.49411606788635254\n", " 119 7.612837e+00 4.552855e-02\n", " * time: 0.49697208404541016\n", " 120 7.612749e+00 6.665934e-02\n", " * time: 0.4997549057006836\n", " 121 7.612511e+00 4.065434e-02\n", " * time: 0.5034348964691162\n", " 122 7.612304e+00 4.023747e-02\n", " * time: 0.5070860385894775\n", " 123 7.612093e+00 4.559837e-02\n", " * time: 0.5099430084228516\n", " 124 7.611757e+00 4.962074e-02\n", " * time: 0.5137150287628174\n", " 125 7.611453e+00 1.860271e-02\n", " * time: 0.5172760486602783\n", " 126 7.611201e+00 3.199354e-02\n", " * time: 0.5201330184936523\n", " 127 7.611017e+00 3.525804e-02\n", " * time: 0.5230669975280762\n", " 128 7.610882e+00 3.147620e-02\n", " * time: 0.5258979797363281\n", " 129 7.610602e+00 3.271631e-02\n", " * time: 0.528764009475708\n", " 130 7.610499e+00 5.527226e-02\n", " * time: 0.5317621231079102\n", " 131 7.610371e+00 4.641534e-02\n", " * time: 0.534682035446167\n", " 132 7.610278e+00 6.806592e-02\n", " * time: 0.5375819206237793\n", " 133 7.610005e+00 3.757165e-02\n", " * time: 0.5405130386352539\n", " 134 7.609653e+00 2.228037e-02\n", " * time: 0.5442090034484863\n", " 135 7.609384e+00 2.447838e-02\n", " * time: 0.547144889831543\n", " 136 7.609224e+00 2.839178e-02\n", " * time: 0.5500121116638184\n", " 137 7.609101e+00 4.026911e-02\n", " * time: 0.5529220104217529\n", " 138 7.608961e+00 1.848177e-02\n", " * time: 0.5566360950469971\n", " 139 7.608831e+00 1.695676e-02\n", " * time: 0.5603399276733398\n", " 140 7.608746e+00 2.388414e-02\n", " * time: 0.5633189678192139\n", " 141 7.608660e+00 2.020082e-02\n", " * time: 0.566972017288208\n", " 142 7.608637e+00 2.829618e-02\n", " * time: 0.5697650909423828\n", " 143 7.608606e+00 3.268107e-02\n", " * time: 0.5726311206817627\n", " 144 7.608496e+00 1.914120e-02\n", " * time: 0.5763719081878662\n", " 145 7.608399e+00 2.836165e-02\n", " * time: 0.5792860984802246\n", " 146 7.608280e+00 2.338237e-02\n", " * time: 0.5822598934173584\n", " 147 7.608188e+00 2.627436e-02\n", " * time: 0.585211992263794\n", " 148 7.608086e+00 1.180398e-02\n", " * time: 0.6003189086914062\n", " 149 7.608006e+00 1.339341e-02\n", " * time: 0.6033039093017578\n", " 150 7.607952e+00 2.705721e-02\n", " * time: 0.6062500476837158\n", " 151 7.607904e+00 2.481473e-02\n", " * time: 0.6092839241027832\n", " 152 7.607864e+00 1.970629e-02\n", " * time: 0.6121840476989746\n", " 153 7.607781e+00 2.112683e-02\n", " * time: 0.6159629821777344\n", " 154 7.607677e+00 8.457094e-03\n", " * time: 0.6197021007537842\n", " 155 7.607624e+00 1.381003e-02\n", " * time: 0.6226639747619629\n", " 156 7.607557e+00 1.273533e-02\n", " * time: 0.6257250308990479\n", " 157 7.607503e+00 1.560984e-02\n", " * time: 0.6286380290985107\n", " 158 7.607485e+00 1.506689e-02\n", " * time: 0.6315860748291016\n", " 159 7.607429e+00 1.359827e-02\n", " * time: 0.6344900131225586\n", " 160 7.607340e+00 1.604387e-02\n", " * time: 0.637347936630249\n", " 161 7.607330e+00 2.319956e-02\n", " * time: 0.6402308940887451\n", " 162 7.607325e+00 2.307167e-02\n", " * time: 0.6431660652160645\n", " 163 7.607304e+00 2.358642e-02\n", " * time: 0.6462080478668213\n", " 164 7.607173e+00 1.581495e-02\n", " * time: 0.6490380764007568\n", " 165 7.607044e+00 1.904193e-02\n", " * time: 0.6518549919128418\n", " 166 7.607010e+00 3.189679e-02\n", " * time: 0.6548349857330322\n", " 167 7.606896e+00 2.190862e-02\n", " * time: 0.6585090160369873\n", " 168 7.606753e+00 2.583350e-02\n", " * time: 0.6613221168518066\n", " 169 7.606626e+00 1.627174e-02\n", " * time: 0.6650149822235107\n", " 170 7.606575e+00 2.266247e-02\n", " * time: 0.6678969860076904\n", " 171 7.606545e+00 2.153687e-02\n", " * time: 0.6706759929656982\n", " 172 7.606456e+00 1.768502e-02\n", " * time: 0.6742970943450928\n", " 173 7.606414e+00 2.668723e-02\n", " * time: 0.6770970821380615\n", " 174 7.606333e+00 2.265223e-02\n", " * time: 0.6807210445404053\n", " 175 7.606192e+00 2.872392e-02\n", " * time: 0.6835060119628906\n", " 176 7.606140e+00 2.688193e-02\n", " * time: 0.6863601207733154\n", " 177 7.606106e+00 1.954142e-02\n", " * time: 0.6892220973968506\n", " 178 7.606010e+00 1.926650e-02\n", " * time: 0.6920359134674072\n", " 179 7.605826e+00 3.136185e-02\n", " * time: 0.7062718868255615\n", " 180 7.605707e+00 1.733690e-02\n", " * time: 0.7099380493164062\n", " 181 7.605588e+00 1.650023e-02\n", " * time: 0.7135019302368164\n", " 182 7.605495e+00 2.496859e-02\n", " * time: 0.716407060623169\n", " 183 7.605404e+00 2.381374e-02\n", " * time: 0.719264030456543\n", " 184 7.605377e+00 3.183078e-02\n", " * time: 0.722114086151123\n", " 185 7.605298e+00 2.279632e-02\n", " * time: 0.7258520126342773\n", " 186 7.605119e+00 2.538510e-02\n", " * time: 0.729482889175415\n", " 187 7.605021e+00 2.862387e-02\n", " * time: 0.7323689460754395\n", " 188 7.604896e+00 3.052032e-02\n", " * time: 0.7352859973907471\n", " 189 7.604742e+00 1.964412e-02\n", " * time: 0.7390379905700684\n", " 190 7.604688e+00 3.354532e-02\n", " * time: 0.741879940032959\n", " 191 7.604669e+00 2.778443e-02\n", " * time: 0.7446689605712891\n", " 192 7.604565e+00 2.636902e-02\n", " * time: 0.7485499382019043\n", " 193 7.604426e+00 2.640297e-02\n", " * time: 0.751439094543457\n", " 194 7.604288e+00 2.448490e-02\n", " * time: 0.7553260326385498\n", " 195 7.604209e+00 2.910371e-02\n", " * time: 0.7583310604095459\n", " 196 7.604078e+00 2.841721e-02\n", " * time: 0.7611560821533203\n", " 197 7.603978e+00 2.278817e-02\n", " * time: 0.764847993850708\n", " 198 7.603862e+00 2.605204e-02\n", " * time: 0.7677369117736816\n", " 199 7.603851e+00 4.544651e-02\n", " * time: 0.7705249786376953\n", " 200 7.603698e+00 2.478883e-02\n", " * time: 0.7734129428863525\n", " 201 7.603662e+00 4.545850e-02\n", " * time: 0.7763159275054932\n", " 202 7.603443e+00 3.030984e-02\n", " * time: 0.7799999713897705\n", " 203 7.603293e+00 3.436837e-02\n", " * time: 0.7836019992828369\n", " 204 7.603137e+00 2.810137e-02\n", " * time: 0.7865109443664551\n", " 205 7.602982e+00 3.637739e-02\n", " * time: 0.7893979549407959\n", " 206 7.602979e+00 3.396018e-02\n", " * time: 0.7922489643096924\n", " 207 7.602875e+00 3.194552e-02\n", " * time: 0.7950499057769775\n", " 208 7.602831e+00 3.224236e-02\n", " * time: 0.7980639934539795\n", " 209 7.602682e+00 2.430060e-02\n", " * time: 0.8121390342712402\n", " 210 7.602634e+00 3.961676e-02\n", " * time: 0.8150210380554199\n", " 211 7.602402e+00 3.559408e-02\n", " * time: 0.8180301189422607\n", " 212 7.602197e+00 2.968846e-02\n", " * time: 0.8216249942779541\n", " 213 7.602050e+00 3.246387e-02\n", " * time: 0.8245069980621338\n", " 214 7.601963e+00 3.666965e-02\n", " * time: 0.8275051116943359\n", " 215 7.601887e+00 2.387274e-02\n", " * time: 0.8305950164794922\n", " 216 7.601670e+00 2.413248e-02\n", " * time: 0.8343410491943359\n", " 217 7.601430e+00 2.227738e-02\n", " * time: 0.8380100727081299\n", " 218 7.601192e+00 2.585857e-02\n", " * time: 0.8417870998382568\n", " 219 7.600923e+00 1.747981e-02\n", " * time: 0.8455410003662109\n", " 220 7.600768e+00 2.519239e-02\n", " * time: 0.8486959934234619\n", " 221 7.600622e+00 2.783515e-02\n", " * time: 0.852341890335083\n", " 222 7.600593e+00 4.221140e-02\n", " * time: 0.8553268909454346\n", " 223 7.600548e+00 3.351037e-02\n", " * time: 0.8583250045776367\n", " 224 7.600431e+00 2.502463e-02\n", " * time: 0.8611910343170166\n", " 225 7.600249e+00 4.038561e-02\n", " * time: 0.8640611171722412\n", " 226 7.600016e+00 2.906412e-02\n", " * time: 0.8679280281066895\n", " 227 7.599990e+00 5.264226e-02\n", " * time: 0.8710200786590576\n", " 228 7.599838e+00 4.369907e-02\n", " * time: 0.8746829032897949\n", " 229 7.599727e+00 4.718179e-02\n", " * time: 0.8774349689483643\n", " 230 7.599587e+00 4.297247e-02\n", " * time: 0.8811709880828857\n", " 231 7.599422e+00 3.260678e-02\n", " * time: 0.8840711116790771\n", " 232 7.599211e+00 4.238858e-02\n", " * time: 0.8868629932403564\n", " 233 7.599037e+00 5.480164e-02\n", " * time: 0.8899269104003906\n", " 234 7.598738e+00 2.844664e-02\n", " * time: 0.8935379981994629\n", " 235 7.598471e+00 2.980011e-02\n", " * time: 0.8963749408721924\n", " 236 7.598286e+00 2.896281e-02\n", " * time: 0.900231122970581\n", " 237 7.598126e+00 3.781617e-02\n", " * time: 0.9030909538269043\n", " 238 7.597861e+00 2.624738e-02\n", " * time: 0.9066970348358154\n", " 239 7.597686e+00 2.384146e-02\n", " * time: 0.921781063079834\n", " 240 7.597493e+00 2.404157e-02\n", " * time: 0.9255270957946777\n", " 241 7.597394e+00 2.562757e-02\n", " * time: 0.929265022277832\n", " 242 7.597295e+00 2.935479e-02\n", " * time: 0.9321188926696777\n", " 243 7.597197e+00 4.722609e-02\n", " * time: 0.9350090026855469\n", " 244 7.597066e+00 3.960497e-02\n", " * time: 0.9378690719604492\n", " 245 7.596951e+00 4.792311e-02\n", " * time: 0.940925121307373\n", " 246 7.596799e+00 4.771337e-02\n", " * time: 0.9437460899353027\n", " 247 7.596655e+00 3.802861e-02\n", " * time: 0.9465630054473877\n", " 248 7.596482e+00 2.704025e-02\n", " * time: 0.9494400024414062\n", " 249 7.596230e+00 2.560394e-02\n", " * time: 0.9523739814758301\n", " 250 7.596057e+00 1.963649e-02\n", " * time: 0.9561209678649902\n", " 251 7.595867e+00 1.682622e-02\n", " * time: 0.9591178894042969\n", " 252 7.595772e+00 2.330703e-02\n", " * time: 0.9629299640655518\n", " 253 7.595653e+00 2.460695e-02\n", " * time: 0.9667699337005615\n", " 254 7.595504e+00 1.159420e-02\n", " * time: 0.9706070423126221\n", " 255 7.595454e+00 2.027720e-02\n", " * time: 0.9734640121459961\n", " 256 7.595423e+00 3.922585e-02\n", " * time: 0.9763529300689697\n", " 257 7.595348e+00 2.969681e-02\n", " * time: 0.9792160987854004\n", " 258 7.595117e+00 2.186832e-02\n", " * time: 0.9821529388427734\n", " 259 7.595039e+00 3.883922e-02\n", " * time: 0.9849579334259033\n", " 260 7.594901e+00 3.358663e-02\n", " * time: 0.9878830909729004\n", " 261 7.594776e+00 3.396028e-02\n", " * time: 0.9908249378204346\n", " 262 7.594468e+00 3.025026e-02\n", " * time: 0.9936769008636475\n", " 263 7.594302e+00 2.254355e-02\n", " * time: 0.9964339733123779\n", " 264 7.594117e+00 3.003345e-02\n", " * time: 0.9992680549621582\n", " 265 7.593983e+00 1.643375e-02\n", " * time: 1.0029730796813965\n", " 266 7.593815e+00 2.551064e-02\n", " * time: 1.0058400630950928\n", " 267 7.593694e+00 2.483709e-02\n", " * time: 1.0093989372253418\n", " 268 7.593583e+00 1.584696e-02\n", " * time: 1.0131580829620361\n", " 269 7.593535e+00 2.985789e-02\n", " * time: 1.0272090435028076\n", " 270 7.593522e+00 2.712810e-02\n", " * time: 1.0302379131317139\n", " 271 7.593425e+00 2.603686e-02\n", " * time: 1.0333061218261719\n", " 272 7.593299e+00 1.606074e-02\n", " * time: 1.037053108215332\n", " 273 7.593219e+00 2.795821e-02\n", " * time: 1.0399980545043945\n", " 274 7.593117e+00 1.747816e-02\n", " * time: 1.0430819988250732\n", " 275 7.593061e+00 1.483956e-02\n", " * time: 1.0460100173950195\n", " 276 7.593000e+00 1.532046e-02\n", " * time: 1.0489230155944824\n", " 277 7.592955e+00 9.542154e-03\n", " * time: 1.052746057510376\n", " 278 7.592912e+00 1.420849e-02\n", " * time: 1.0556559562683105\n", " 279 7.592879e+00 1.249850e-02\n", " * time: 1.0585429668426514\n", " 280 7.592875e+00 1.529451e-02\n", " * time: 1.0615909099578857\n", " 281 7.592870e+00 1.585126e-02\n", " * time: 1.064512014389038\n", " 282 7.592860e+00 1.582477e-02\n", " * time: 1.0674691200256348\n", " 283 7.592830e+00 1.107019e-02\n", " * time: 1.0703630447387695\n", " 284 7.592801e+00 1.326934e-02\n", " * time: 1.0734848976135254\n", " 285 7.592768e+00 1.110618e-02\n", " * time: 1.076611042022705\n", " 286 7.592756e+00 1.300644e-02\n", " * time: 1.0794799327850342\n", " 287 7.592725e+00 9.129469e-03\n", " * time: 1.0826148986816406\n", " 288 7.592717e+00 1.319053e-02\n", " * time: 1.0855278968811035\n", " 289 7.592699e+00 1.624033e-02\n", " * time: 1.0884509086608887\n", " 290 7.592698e+00 1.264264e-02\n", " * time: 1.09147310256958\n", " 291 7.592679e+00 1.067761e-02\n", " * time: 1.0952050685882568\n", " 292 7.592653e+00 7.942211e-03\n", " * time: 1.0987911224365234\n", " 293 7.592633e+00 6.342543e-03\n", " * time: 1.1025159358978271\n", " 294 7.592624e+00 6.828025e-03\n", " * time: 1.106132984161377\n", " 295 7.592619e+00 1.146055e-02\n", " * time: 1.1088929176330566\n", " 296 7.592611e+00 1.196688e-02\n", " * time: 1.1117849349975586\n", " 297 7.592601e+00 8.520331e-03\n", " * time: 1.1147170066833496\n", " 298 7.592591e+00 7.228714e-03\n", " * time: 1.11753511428833\n", " 299 7.592580e+00 8.038250e-03\n", " * time: 1.1204009056091309\n", " 300 7.592562e+00 1.333804e-02\n", " * time: 1.1349029541015625\n", " 301 7.592550e+00 7.707980e-03\n", " * time: 1.1378040313720703\n", " 302 7.592537e+00 8.591416e-03\n", " * time: 1.1406431198120117\n", " 303 7.592529e+00 8.678138e-03\n", " * time: 1.1435670852661133\n", " 304 7.592517e+00 4.468362e-03\n", " * time: 1.1464180946350098\n", " 305 7.592510e+00 5.531683e-03\n", " * time: 1.149266004562378\n", " 306 7.592502e+00 4.094692e-03\n", " * time: 1.1530330181121826\n", " 307 7.592499e+00 7.749809e-03\n", " * time: 1.155879020690918\n", " 308 7.592497e+00 6.414353e-03\n", " * time: 1.1587519645690918\n", " 309 7.592494e+00 4.843122e-03\n", " * time: 1.1615979671478271\n", " 310 7.592494e+00 6.248924e-03\n", " * time: 1.1646089553833008\n", " 311 7.592489e+00 5.828639e-03\n", " * time: 1.1674261093139648\n", " 312 7.592486e+00 2.874717e-03\n", " * time: 1.1710810661315918\n", " 313 7.592483e+00 3.960841e-03\n", " * time: 1.174062967300415\n", " 314 7.592481e+00 2.463410e-03\n", " * time: 1.177799940109253\n", " 315 7.592479e+00 3.459159e-03\n", " * time: 1.1807711124420166\n", " 316 7.592478e+00 2.974892e-03\n", " * time: 1.1837561130523682\n", " 317 7.592476e+00 1.856272e-03\n", " * time: 1.1867129802703857\n", " 318 7.592475e+00 2.115382e-03\n", " * time: 1.1903860569000244\n", " 319 7.592474e+00 2.077518e-03\n", " * time: 1.1941020488739014\n", " 320 7.592473e+00 3.340243e-03\n", " * time: 1.1969449520111084\n", " 321 7.592473e+00 3.615788e-03\n", " * time: 1.199808120727539\n", " 322 7.592472e+00 2.215837e-03\n", " * time: 1.2035839557647705\n", " 323 7.592470e+00 2.275572e-03\n", " * time: 1.2065489292144775\n", " 324 7.592468e+00 2.446078e-03\n", " * time: 1.2093369960784912\n", " 325 7.592467e+00 2.479469e-03\n", " * time: 1.212165117263794\n", " 326 7.592465e+00 1.852516e-03\n", " * time: 1.2158300876617432\n", " 327 7.592463e+00 1.821267e-03\n", " * time: 1.2194790840148926\n", " 328 7.592462e+00 2.597769e-03\n", " * time: 1.2222630977630615\n", " 329 7.592462e+00 2.726703e-03\n", " * time: 1.2251379489898682\n", " 330 7.592460e+00 2.735389e-03\n", " * time: 1.2279529571533203\n", " 331 7.592459e+00 2.341658e-03\n", " * time: 1.2433021068572998\n", " 332 7.592457e+00 1.343376e-03\n", " * time: 1.2471060752868652\n", " 333 7.592455e+00 1.807439e-03\n", " * time: 1.2499868869781494\n", " 334 7.592454e+00 1.883420e-03\n", " * time: 1.252835988998413\n", " 335 7.592453e+00 2.420649e-03\n", " * time: 1.2559559345245361\n", " 336 7.592452e+00 2.130379e-03\n", " * time: 1.258965015411377\n", " 337 7.592450e+00 2.014848e-03\n", " * time: 1.261810064315796\n", " 338 7.592447e+00 2.362448e-03\n", " * time: 1.2646679878234863\n", " 339 7.592444e+00 2.515174e-03\n", " * time: 1.268312931060791\n", " 340 7.592442e+00 1.275058e-03\n", " * time: 1.2721529006958008\n", " 341 7.592440e+00 1.877595e-03\n", " * time: 1.2750608921051025\n", " 342 7.592439e+00 1.871827e-03\n", " * time: 1.278027057647705\n", " 343 7.592437e+00 2.419317e-03\n", " * time: 1.2808749675750732\n", " 344 7.592435e+00 1.946129e-03\n", " * time: 1.2845780849456787\n", " 345 7.592434e+00 2.676204e-03\n", " * time: 1.2875139713287354\n", " 346 7.592433e+00 4.270989e-03\n", " * time: 1.2904279232025146\n", " 347 7.592432e+00 2.911391e-03\n", " * time: 1.2932519912719727\n", " 348 7.592430e+00 2.313936e-03\n", " * time: 1.2961950302124023\n", " 349 7.592429e+00 4.262489e-03\n", " * time: 1.2990219593048096\n", " 350 7.592427e+00 3.103697e-03\n", " * time: 1.301814079284668\n", " 351 7.592426e+00 4.400363e-03\n", " * time: 1.3045220375061035\n", " 352 7.592425e+00 3.314501e-03\n", " * time: 1.3074109554290771\n", " 353 7.592425e+00 2.352045e-03\n", " * time: 1.3102009296417236\n", " 354 7.592423e+00 2.344909e-03\n", " * time: 1.3130059242248535\n", " 355 7.592422e+00 4.870236e-03\n", " * time: 1.315911054611206\n", " 356 7.592420e+00 3.030661e-03\n", " * time: 1.3195528984069824\n", " 357 7.592418e+00 2.954268e-03\n", " * time: 1.3231160640716553\n", " 358 7.592417e+00 2.301977e-03\n", " * time: 1.3268790245056152\n", " 359 7.592416e+00 2.550794e-03\n", " * time: 1.3297269344329834\n", " 360 7.592414e+00 1.496020e-03\n", " * time: 1.3332691192626953\n", " 361 7.592414e+00 2.660652e-03\n", " * time: 1.3473129272460938\n", " 362 7.592413e+00 2.044141e-03\n", " * time: 1.351012945175171\n", " 363 7.592413e+00 2.442139e-03\n", " * time: 1.3538479804992676\n", " 364 7.592412e+00 1.756013e-03\n", " * time: 1.3566410541534424\n", " 365 7.592411e+00 2.670431e-03\n", " * time: 1.3595750331878662\n", " 366 7.592409e+00 2.371550e-03\n", " * time: 1.3624539375305176\n", " 367 7.592407e+00 2.066133e-03\n", " * time: 1.3653059005737305\n", " 368 7.592407e+00 4.395356e-03\n", " * time: 1.3682539463043213\n", " 369 7.592406e+00 3.152695e-03\n", " * time: 1.3711140155792236\n", " 370 7.592405e+00 3.156834e-03\n", " * time: 1.374000072479248\n", " 371 7.592404e+00 2.874552e-03\n", " * time: 1.3768858909606934\n", " 372 7.592402e+00 1.884546e-03\n", " * time: 1.380566120147705\n", " 373 7.592399e+00 2.671336e-03\n", " * time: 1.3834619522094727\n", " 374 7.592399e+00 4.547401e-03\n", " * time: 1.3862860202789307\n", " 375 7.592397e+00 3.212882e-03\n", " * time: 1.3899900913238525\n", " 376 7.592395e+00 4.199533e-03\n", " * time: 1.3927829265594482\n", " 377 7.592395e+00 3.253342e-03\n", " * time: 1.3956260681152344\n", " 378 7.592394e+00 3.139471e-03\n", " * time: 1.3994269371032715\n", " 379 7.592391e+00 2.265809e-03\n", " * time: 1.4030780792236328\n", " 380 7.592389e+00 2.134461e-03\n", " * time: 1.406836986541748\n", " 381 7.592388e+00 1.616848e-03\n", " * time: 1.4105539321899414\n", " 382 7.592387e+00 2.468446e-03\n", " * time: 1.4133539199829102\n", " 383 7.592386e+00 1.990963e-03\n", " * time: 1.4161670207977295\n", " 384 7.592385e+00 2.426971e-03\n", " * time: 1.4190449714660645\n", " 385 7.592383e+00 1.493747e-03\n", " * time: 1.4226291179656982\n", " 386 7.592383e+00 2.296878e-03\n", " * time: 1.425429105758667\n", " 387 7.592381e+00 1.815985e-03\n", " * time: 1.4283480644226074\n", " 388 7.592381e+00 1.073100e-03\n", " * time: 1.4319169521331787\n", " 389 7.592380e+00 1.505405e-03\n", " * time: 1.434809923171997\n", " 390 7.592379e+00 1.118360e-03\n", " * time: 1.4376649856567383\n", " 391 7.592378e+00 1.396849e-03\n", " * time: 1.4404780864715576\n", " 392 7.592378e+00 1.321780e-03\n", " * time: 1.4546239376068115\n", " 393 7.592377e+00 1.538184e-03\n", " * time: 1.4574809074401855\n", " 394 7.592377e+00 2.041113e-03\n", " * time: 1.4604229927062988\n", " 395 7.592376e+00 1.178412e-03\n", " * time: 1.4640240669250488\n", " 396 7.592376e+00 1.662681e-03\n", " * time: 1.466865062713623\n", " 397 7.592375e+00 1.220468e-03\n", " * time: 1.4706740379333496\n", " 398 7.592375e+00 1.454911e-03\n", " * time: 1.4734809398651123\n", " 399 7.592374e+00 1.595429e-03\n", " * time: 1.4763340950012207\n", " 400 7.592374e+00 2.089198e-03\n", " * time: 1.4792931079864502\n", " 401 7.592373e+00 2.237055e-03\n", " * time: 1.482184886932373\n", " 402 7.592373e+00 1.901750e-03\n", " * time: 1.4851739406585693\n", " 403 7.592372e+00 1.949404e-03\n", " * time: 1.4881210327148438\n", " 404 7.592371e+00 2.279402e-03\n", " * time: 1.4911069869995117\n", " 405 7.592371e+00 1.451336e-03\n", " * time: 1.4946908950805664\n", " 406 7.592370e+00 2.359186e-03\n", " * time: 1.4975121021270752\n", " 407 7.592370e+00 1.677096e-03\n", " * time: 1.5004990100860596\n", " 408 7.592370e+00 1.927000e-03\n", " * time: 1.5033760070800781\n", " 409 7.592369e+00 1.364479e-03\n", " * time: 1.5070679187774658\n", " 410 7.592369e+00 1.457918e-03\n", " * time: 1.509995937347412\n", " 411 7.592369e+00 1.745647e-03\n", " * time: 1.512861967086792\n", " 412 7.592369e+00 1.080973e-03\n", " * time: 1.5158870220184326\n", " 413 7.592369e+00 1.864276e-03\n", " * time: 1.5187909603118896\n", " 414 7.592368e+00 1.262349e-03\n", " * time: 1.521677017211914\n", " 415 7.592368e+00 1.436547e-03\n", " * time: 1.5243709087371826\n", " 416 7.592367e+00 1.398478e-03\n", " * time: 1.5271599292755127\n", " 417 7.592367e+00 1.345295e-03\n", " * time: 1.530914068222046\n", " 418 7.592367e+00 1.006982e-03\n", " * time: 1.5344440937042236\n", " 419 7.592367e+00 1.193626e-03\n", " * time: 1.5373649597167969\n", " 420 7.592366e+00 9.131813e-04\n", " * time: 1.5403540134429932\n", " 421 7.592366e+00 7.624140e-04\n", " * time: 1.5439229011535645\n", " 422 7.592366e+00 6.121633e-04\n", " * time: 1.558825969696045\n", " 423 7.592366e+00 5.119024e-04\n", " * time: 1.5625450611114502\n", " 424 7.592366e+00 4.357370e-04\n", " * time: 1.5663580894470215\n", " 425 7.592366e+00 7.702982e-04\n", " * time: 1.5691630840301514\n", " 426 7.592366e+00 3.740865e-04\n", " * time: 1.5728020668029785\n", " 427 7.592366e+00 5.089640e-04\n", " * time: 1.5756359100341797\n", " 428 7.592366e+00 4.239451e-04\n", " * time: 1.5784869194030762\n", " 429 7.592366e+00 7.490375e-04\n", " * time: 1.5814979076385498\n", " 430 7.592366e+00 3.776566e-04\n", " * time: 1.5842950344085693\n", " 431 7.592365e+00 4.087774e-04\n", " * time: 1.587151050567627\n", " 432 7.592365e+00 2.657563e-04\n", " * time: 1.5900459289550781\n", " 433 7.592365e+00 4.712084e-04\n", " * time: 1.5929300785064697\n", " 434 7.592365e+00 3.322944e-04\n", " * time: 1.5957729816436768\n", " 435 7.592365e+00 2.891801e-04\n", " * time: 1.5986430644989014\n", " 436 7.592365e+00 2.442110e-04\n", " * time: 1.6023108959197998\n", " 437 7.592365e+00 3.899859e-04\n", " * time: 1.6051061153411865\n", " 438 7.592365e+00 3.447445e-04\n", " * time: 1.6079668998718262\n", " 439 7.592365e+00 2.755979e-04\n", " * time: 1.610870122909546\n", " 440 7.592365e+00 1.944922e-04\n", " * time: 1.6145598888397217\n", " 441 7.592365e+00 3.396783e-04\n", " * time: 1.6173210144042969\n", " 442 7.592365e+00 1.958185e-04\n", " * time: 1.6209568977355957\n", " 443 7.592365e+00 2.731380e-04\n", " * time: 1.6237759590148926\n", " 444 7.592365e+00 4.092511e-04\n", " * time: 1.626615047454834\n", " 445 7.592365e+00 1.719468e-04\n", " * time: 1.6302990913391113\n", " 446 7.592365e+00 2.644946e-04\n", " * time: 1.633188009262085\n", " 447 7.592365e+00 2.171367e-04\n", " * time: 1.6359519958496094\n" ] }, { "output_type": "execute_result", "data": { "text/plain": "Plot{Plots.GRBackend() n=1}", "image/png": "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OTk5Dv00Lfn5+bVp0yY7O1v8+XczPz+/srLSoZ9mcHCwWq1u06aN9GNsbOzvv/8uan1oS0tLHfpp3mEYCJUxZMiQjRs3Sodivv766yFDhth7j/6qFStWLF68ODU1tWnTpubGIUOGpKamSsXTN23aFB0dbXkBicMxGAx6vV66XVVVdfz48fDwcCHEkCFDduzYUVZWJoTYsGFD+/btQ0ND7bmjf03nzp137969dOnSpUuXTpgwITIycunSpWq1un///r/++qv0Z3T//v06na5Tp0723lnb6fV688zv8uXLR48ejY2NFUIMGTJk27Zt5eXlQogNGzZ07NgxIED28gh3Dzc3twEDBhw8eFD68eDBg9KgOGTIkJ07d0of2o0bNyYkJFj+5sJt2Dut43ieffbZxMREDw+PyMjIxMTE9PR0k8l08+bN++67r1u3bmPGjGnSpMnZs2ftvZt/SU5OjkqlCg8PT/yv7777Tvqv5OTkNm3aPP744wEBAVu2bLHvfv5Fly5datKkybBhw5KTk5s1a9a7d++Kigrpv0aNGtW2bduJEycGBATs3LnTvvupoOXLl5tToyaTafbs2REREZMmTQoKClq6dKkdd+yvy8rKCg4OHjFixJgxY/z8/J555hmp3Wg0DhkyJCEh4bHHHvP39//hhx/supsKOHLkSGBg4GOPPTZw4MCWLVtevXpVah89erT5Q7tjxw777qRjweoTsp0/f94yCBMVFSXl7nQ63e7du2/evNm7d28/Pz/77aACqqqqTpw4YdkSEREhXWxuMpl+/PHHnJycTp06NWvWzE47qJhLly4dPXq0srKyVatW7du3N7ebTKa9e/fm5uZ27tw5LCzMjnuorPz8/IKCgujoaHNLenr6+fPnExISbrvO3N3v9OnTp0+fNhqNcXFxUVFR5naj0bhnz568vLyuXbs69OTerKCgYPfu3Q0bNuzSpYv5LIzJZNq3b9+1a9fusQ/tHYCBEAAAnBrOEQIAgFPDQAgAAE4NAyEAADg1DIQAAODUMBACAIBTw0AIAABODQMhAAA4NQyEAADg1DAQAgCAU8NACAAATg0DIQAAOLX/D7XcFNrO0Qk9AAAAAElFTkSuQmCC", "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", " \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", " \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.ρ[:, :, 1, 1], c=:blues)" ], "metadata": {}, "execution_count": 5 } ], "nbformat_minor": 3, "metadata": { "language_info": { "file_extension": ".jl", "mimetype": "application/julia", "name": "julia", "version": "1.6.3" }, "kernelspec": { "name": "julia-1.6", "display_name": "Julia 1.6.3", "language": "julia" } }, "nbformat": 4 }