{ "cells": [ { "cell_type": "markdown", "source": [ "# Graphene band structure" ], "metadata": {} }, { "cell_type": "markdown", "source": [ "This example plots the band structure of graphene, a 2D material. 2D band\n", "structures are not supported natively (yet), so we manually build a custom\n", "path in reciprocal space." ], "metadata": {} }, { "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "n Energy log10(ΔE) log10(Δρ) Diag Δtime\n", "--- --------------- --------- --------- ---- ------\n", " 1 -11.15666063268 -0.60 6.1 203ms\n", " 2 -11.16021124379 -2.45 -1.30 1.0 115ms\n", " 3 -11.16039978162 -3.72 -2.33 2.1 149ms\n", " 4 -11.16041636799 -4.78 -3.20 2.1 143ms\n", " 5 -11.16041703709 -6.17 -3.39 2.3 140ms\n", " 6 -11.16041704742 -7.99 -3.54 1.1 112ms\n", " 7 -11.16041704979 -8.63 -3.84 1.0 108ms\n", " 8 -11.16041705072 -9.03 -4.15 1.1 112ms\n", " 9 -11.16041705116 -9.35 -4.51 1.4 118ms\n", " 10 -11.16041705137 -9.69 -4.91 1.4 118ms\n", " 11 -11.16041705143 -10.17 -5.33 1.9 128ms\n", " 12 -11.16041705145 -10.84 -5.76 1.9 147ms\n", " 13 -11.16041705145 -11.72 -6.25 2.0 132ms\n" ] }, { "output_type": "execute_result", "data": { "text/plain": "Plot{Plots.GRBackend() n=25}", "image/png": "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sLBmzZrt3bu3cePGxTm3kZFRkyZNvvfTJk2arFmzRiwWczicCxcuODk5WVtbSxID4HK59evXj4+Pj4uLc3Bw4PF4N27cWL169VcHefz4sWQvQsjnxGJxo0Zd//13sFCoa2LStV+/q4CyzihabM7OqFMH+/Zh8GDWUYg6kl4IAVSvXj0qKgpAZmamqampDP9M7t279/z584cNG9awYcOFCxfOnDlTcgO2W7dutWrVWrRokaWlpb+/v7e398iRI/fv39+iRYvq1asDGDNmjJWVVbly5aKjoyMiIs6dOyerSISojcTExMxMq4KCoQD09C4/ffq0Ro0arEPJQFAQJk2iQkjkoujyZmZmJtubRfr6+tevX7e3t4+Ojg4JCRk+fLhk+5AhQzp16iR5HRISMmzYsJs3b3bs2PHQoUOSjV5eXnl5effu3bO1tX306FExL08J0ShWVlY83isgEUjhcB4U56G+SmjXDgD+/JN1DqKOOFJ71CxatOjjx4/fbjczM3N0dGzXrp2Sr83k4+NDzwjJz+LxeGrwjHD7dsycedXMbB6XK1y1akanTu0UHEDSWUa2zwgltm1DZCROnpT5gYnakjwjLPLTKP3W6K5du16/fp2fnw/A1NQ0OzsbgL6+PofDyc3NNTEx2bt377cDDQkhbO3ejXnzcP160woVzrPOInsDBmD2bDx5gipKt5YwUW3S//gNDg62sbE5dOhQbm5uVlbWhw8fwsLCrKysrl69+uTJk7p16/r6+kq9ZCSEsBIVhSlTcPo0KlRgHUU+9PQwfDhCQljnIGpHSiEUiUQBAQGrVq3q1auXvr4+AGNj42HDho0dO3b8+PGurq779u3Lzs7+66+/FJ6WECLd+fMICMDJk/g0R716GjUKBw6gxNNbEfIF6VOsxcfHSzpqfq569ep37twBUK5cufLly79//14RAQkhRbl+Hf374/Bh1KnDOoqcWVmhe3eEhbHOQdSLlEJobGysra395zfds/78808zMzPJax6PV6pUKbmnI4QUJToaPXti5040a8Y6ikJMmIANG5CfzzoHUSPS5xr19vaeMGHCu3fvunbtamFh8fbt2wMHDoSEhEyfPh3AkydP3r175+bmpvC0hJAvxMSgUyds2YIOHVhHURQ3N7i64tAh9O/POgpRF9J7jYaFhYnF4gULFsyfP1+yRUdHZ+zYsZK32traR44cqaRCK5sRoo5evECnTlizBh4erKMoVlAQ5syhQkhkRvo4Qok3b97ExMQkJyfb2dnVrFmz5OtOKAyNIyS/QLXGESYkoHlzTJ+OYcNYR/mS/MYRFhKLUa0aNm/WlLvB5JeVaByhRPny5dVmWgpC1Mn792jXDqNGKV0VVAwOB2PHYs0aKoRENv4rhFlZWW/fvrWysipduvSLFy8KCgqk7uDq6qqobISQL+Tl5SUnJxsb23XsqDVgACZNYh2InUGDMG8e/v0XTk6soxDV918hPHr0qL+//5IlS6ZPn96kSZPvjY5Qs2VLCVEVt2793aNHgEjklJWV4Od3YuZMS9aJ/idOWQAAIABJREFUWDI0xJAhWLcOa9eyjkJU33+FsG3btlFRUVWrVgWwc+dOPp/PLhUh5GuBgYuSkw8BlTicvebmYcBM1okYGz0aNWpgwQLQSC5SQv8VQnt7e3t7e8nrDprTF5sQFcHnCz+tLKgrEEh/cqFRbG3RqRO2bsXEiayjEBX3o84yOTk5sbGxHz9+bEaPpAlh6skTvHs31cjI09CwhoHBowkTjrNOpBQmTEDPnggMhPaPvskIKYL0nuICgSAwMLB06dJ16tTp27evZOPw4cP79eunwGyEEAC4cQNt22LlyuZJSRfPnw+Kjb1mY2PDOpRSqFMH5csjMpJ1DqLipBfCadOmbd26de7cuevWrSvc2LNnz2PHjtGzQ0IU6cgRdO+O7dsxYABMTU1r1Kihp6fHOpQSCQrCypWsQxAVJ6UQ5ufnb968edWqVTNmzKhRo0bh9urVq/N4vISEBAXGI0SjrV2L8eNx9qwGzaD2s1q0yPznn35WVvV69PDPzc1lHYeoJCmFMDU1NScnp2XLll9tNzExAZCRkaGAWIRoOKEQY8Zg2zZcv45atVinUWJTpizi8zulpNw5fbrmokXBrOMQlSSlEJYqVUpLS+vNmzdfbY+OjgZga2uriFyEaLCcHHh64sULXLuGT125iXTPnr0WiZoByMtr9vjxK9ZxiEqSUgiNjIxatWo1Z86c9PR0Docj2fj+/ftJkybVr1+fntITIldpaWjfHmXK4MQJmJiwTqP0hg/vbW4+Gtijrz8hIKA36zhEJUnvdBwSEtKsWTNnZ2dXV9esrKyePXtevHixoKDg4sWLCs5HiEb591907oy+fTFvHusoKmLgQJ8KFWxPnry9efOqpk3rsY5DVJL0XqOurq7379/38fFJTk7mcrm3b9/u2rXrnTt36tWjzxkhMiYSiR4/fpyenn7zJpo1w6RJVAV/TtOmTZctC2rTpt7OnayjENX03WGodnZ2GzZsUGQUQjRQbm5ugwad372z4fNfiMXjDxzo26kT60yqKTAQQ4ZgxAioyDpaRInQR4YQliIjo168aPv+/Z7s7EtGRmuoCv6yZs1gaorTp1nnICqICiEhLMXGcvPyhAAAka4u4zCqbvx4WoyC/AoqhISwkZaGgABs2dLd3v4vK6teVlYtly6dyjqUavPxwePHePiQdQ6iaqgQEqJoIhF27oSbG/T18fSp/qtXZ2/cWPH8+Z/9+nmxjqbadHQwfDiobwP5WTRnOyEKdecORo2CoSHOn0e1apJtnIoVK7JNpTZGjICrKxYvhoUF6yhEddAVISEKkp6OwED06IExY3DxYmEVJLJkaQlPT4SFsc5BVAoVQkLkTnIvVFL5Hj+Gry8+TdlEZC8oCKGhyM9nnYOoDiqEhMhFVNQf9vb1ypWrNWzYysaNsW0bzp7F2rUwNWWdTN1Vq4YqVXD4MOscRHVQISRE9sRi8YgR0xMSLrx7d2/79kteXk8vXUL16qxjaYzAQATTQhSk2KgQEiJjjx5h3ry8tDRjwBTgmpq6uLu/o3uhitS5MzIzcf066xxERVAhJEQGRCLcvYt581ClCjw8kJmpX79+5VKlxhoYLLSyutmgQQPWATULl4tx42hwPSkuGj5ByE8QCoUrV264cOHvzp2bBgYGiEScGzdw6BAOH4aZGTw8sGULmjQBhwOxOPzs2bPZ2dldukzU19dnHVzj+PtjwQK8eoUKFVhHIUqPCiEhABAfH79pU4S9vbW//0Dd7891tnTpumXL4nNyZl29umbfvu3Pnw+pWBFdu+LCBbi4fNGSw+F06NBB7rnJdxgaYtAgbNyIFStYRyFKjwohIUhNTW3QoHty8mR9/X+PHvU9cmR/cjJSUpCSgvfv8e4dUlKQmorkZNy8eY3HWw045OaOzc1d/eTJkLJlWacn3zFmDOrVw9y5MDJiHYUoNyqEhOD69etZWZ5icd/cXJw/38DaWlS2LLdsWVhYwNIS5cqhQgW4u8PKClFRjXbsWM/jjTA2Dh02rDFVQWXm4ICWLRERgVGjWEchyo0KIdF0WVmIjHTi8zcAuUC8oyP35cvvdiJr3Xq8tfXa8+dndO3afMyYoYrMSX5BYCCGDqVFCkkR6NNBNJdkwpcqVSAUVlu0yMfBoUWtWmMjIzf/YBctLa1ZsyZcunRg0qTRHBoSofSaNkWpUjh1inUOotzoipBoqFu3EBgIAJGRaNAAgH9gYB99fX0uXTuol7FjsXYtunRhnYMoMfqdJxonMRG+vujVC6NG4cYN0Bg/9ebjgydPaJFC8iNUCIn6S0pKio6OLigo4PGwfDnq1IGNDZ48ocmvNYKODgICsH496xxEidGtUaLmNmzYPn9+OFDJwOAlh3OqenXDW7fg6Mg6FlGgUaNQuTIWLYKVFesoRCnRFSFRc0uXhqaknE9JCU9I6ODnd/zECaqCGqd0afTsiS1bWOcgyoquCIma09LiAgJAz8Ag181Nh3Ucwsbo0YJWrSISEl4NHtzd3d2ddRyiXOiKkKi5Dh2ma2s3t7TsXLNmdPfu3VjHIWysWzf1w4eXmzY169Il6CH1nCFfYlAIxWLx5MmTS5cubW5uPmnSJJFI9FWD9PT0wMDAJk2aODk5paWlFW7Pzc3t379/qVKlypYtu5YmlifF8OYNoqI8b926+uDBtmvXTujo0BWhhjp//i+hcAnQMTV17IkT51jHIcqFQSHcs2fP8ePHnzx5Ehsb+/vvv+/evfurBgKBoEyZMqNGjXr58qVQKCzcvnTp0rdv3yYlJV25cmXhwoW3bt1SbHCiYsRiDB+OSZNQp46htbU16ziEpYoVHTicP4BcY+Pjdeu6sY5DlAuDQhgeHj5q1KiyZctaWlqOGTMmPDz8qwZly5adM2dOx44dv9q+ffv2KVOmGBkZubi49OvX79sdCfnc5s3IzMTEiaxzECWwf//6Ll0OWlq2rVChcceOtCoI+QKDQhgbG1u9enXJazc3t+fPnxdnr9zc3MTExGLuKBaLc3JyMj7Jzc0teWyiWl6/xuzZ2LYNWlqsoxAlUK5cuRMndrx+fS05eczLl/9r784Dakr/P4C/7711K1q4pVu5ihmUpKTEGJMlg8FoJGIsLV8zxpatiCnEWMYSyr78KhnEjLUZTKrJVCJbZSJb2VskSXvd8/vjzrfpa0o31T23ez+vvzrnPOecdymfe5bnedhOQ+RMs7w1mpKScvHixXdWcrncmTNnAsjPz9fU1JSs1NLSqvkU8D1evXoFQModb9269dtvv3l5eUkWNTU1U1NTefQ/otJgGPznPxrz51cZG5cXFkq7V0lJSUVFBQ2x1khlZWVcLlduH8dOmqS2ZQtWry5jOwiRBbFYrKqqWu9vY7MUwtevX9+/f/+dldV1SE9P782bN5KvCwoK9KXr46qnp8fhcN68eaOjo1Pvjj169Fi2bNmECRM+JD1p+bZvR0kJFi9W4fHUpN+Lx+PRWKONx+fz5bkQennBygo//MDX1mY7Cml+YrG45osmdWmWQmhvb29vb1/XVjMzs+Tk5CFDhgBISUkxfWdi7zqoqamZmJgkJyd36NCh3h3FYvG/X0YlSiIjAytX4s8/6aYoqUX79hgyBCEh8PRkOwppfmKxuLy8vN6PZSx8+J02bdq2bdsePHiQkZERGBg4bdrfk7pNnDgxOTlZ8vX169clXycnJ1+7dq16xzVr1uTm5iYlJR05csTDw6OuUzx+rDl5sveCBX7N/K0QuSMWw90dS5aga1e2oxB5tXAhtmyBFNcJpGXz8fFXUzPZs+dqvS1ZGFnG2dk5PT198ODBDMN8++2348ePl6zPysoqK/v7xv2MGTOqqqpsbGyWLFnC4XCSkpIAeHt7v3jxwtLSUktLKyAgwNrauu6T2DJM0Nat3QMCVjX790PkybZtqKjAnDls5yByrHdvCIWIiICjI9tRSHPauHG/WHyby21db0sOwzAyCCRj1tahN29OBWxEoqsDB3Lt7GBri549oaHxT5vo6OiEhOvDhg3o3bs3e0lJU8rIQN++iItDly4fsntxcTE9I2w8OX9ZRiI8HLt3Izqa7RzkQ928eTM9PX3AgAEGBgbVKysrcesWkpJw+TKiopCZaQ1c9/NjVq6s549aMcca5fP/4nA+NzbWMzLinjiBmzcRHIx792BsDBsb2NjgyZOQfftOFRRM2LzZOzx82ZAhg9mOTBpLLIabG3x9P7AKEqUydiwWLcLNm+jZk+0opOG2bdu/YsUvRUWDdHS+OH78WF5e5/h4xMXhxg20awddXWRmol07mJi0f/LEoW3bIKD7+w+omB9+hcI7np4WmZm/JyTgxg2MHInnz2FnhylT0KcPbt3Czp2/FBTsBFxevfpx377jbOclTWDrVlRVYdYstnOQlkBFBbNmgQZqbKG2bg3Oy/ultNQ7O9t3xIijBw9CVxdOThg2DIWFsLVFVBTu3EFmZkR4+Mwvv6z/1XHFLIQaGhp9+/aVfN2lC9atw+PH+O47REXhhx+gqwt7ewMO5wIAIDo1tdOjRyyGJU3g4UOsW4eQENB9TSKlb7/F6dPIymI7B2mg3Fzk57cB7gFQUfnLz0/PwQEhIdi3DwMG4NEj7N79z4W+k5OTiYlJvcdUlv82+HyMG4fISPzxByoqEBNTxjBhgC2XGysUdrOzg48P3r5lOyX5IJKbosuWoXNntqOQlqNNG0yYgF272M5BpMYwOHAAlpZQV3cCXAGbqqrjy5drX7qE//s/pKVh7lz8d8yVhlGWQljN1BSbNsHK6g2wD7gqFvsaGp67cQPPn6NbNxw4wHY+0hAPHz7cs2evp2e8igpmzmQ7DWlp5s3Drl0oLWU7B5FCair690dgIM6cAZ+/B0gCrjHMKnf39OBg9OnTqIMrXSGUWLTIXU9vCp8fwOXO799/qpERDhzATz8hIACDBiE1le18RAq3bt3q23f8jBniHTs2fPLJLg6H7UCkpenSBba2OHSI7RzkvYqLsWIFhgzB+PG4ckXSBWA4h7MAOKuru2Hq1BGNP4WSFsKxYx0vXtwZHGxw5Mgvq1bZpqcDgL09rl+HuzuGDcP06Xj5EgBKSkqKiorYTUtqFRLyS27ucrF4OsMc/vnnn9iOQ1qkefPolRm5FhGB7t2RlobUVMydCy4X168jLm6Zr2+fOXMSzpxZ3yT93xSz+4Q0unXr1q1bNwBFRRgxApcuQV8fXC6mTsWXX2LFCpibw9Z2c1LSQQ5H5euvh2/Z4s92ZPI/Pv64PZ9/rbz8Sw7nmkhkxHYc0iI5OEAsRnQ0BlMXKvmQnJz855/xn376iVBo7eODS5ewezeGDv1767NnGDMGu3ZxnZwmNeFJlfSKsCY3N3z9NUaNQnHx32vatsXWrThxovDChcMvXybl5l4+dOjS48ePWY1J3uXu7qam9lwgsLG2/iE4eAPbcUiLxOFg3jxs2cJ2DgIA+PXX84MHe86Zo9G//0Izs1+NjHDr1j9VsLAQI0di3jw4OTXxeakQAsDKlTA1hZsbao7UbWZW3qaNpuRHVF7ehiY1lDchISo2Nnvy8q5du3bO2NiY7TikpZo8GUlJuHOH7RwE2LnzyKtX2wD34uKdPXocWrcOav/tBFhRAWdn9OmD+fOb/rxUCAGAw8H+/Xj5EsuW/bNSV1d30KCuenoubdpMLS3lREfTKM5ypKQEa9Zg40a2c5CWT00N33yD7dvZzkEAQ0MRh5MEQEXliqVlh5qb5s4Fj9dc/0zK+4zwHXw+jh1Dv34QifDdd3+vDA/flZKSUllZ2aZNry++wKNHWLeO1ZTkvwIC0K8fbGzYzkEUwuzZ6NYN/v4QCNiOosRychAfv6hTp2klJTvMzDqtW7evetPatUhMxMWLUGmekkWF8B+6ujh7Fp99ho8/xuef/73S0tJS8kVCAr78Eu7u2LMH8j2esOLLz0dgIOLi2M5BFIW+PkaNwv798PZmO4qyysnB4MH4+mstX9/wdzYdO4YdO3Dp0gd2lpcG3Rr9Hx99hPBwTJpUS1dCXV1ERiI3F6NGobCQjXDkv374Ac7ONLg2aUrz5iEwEBUVbOdQSpIq6OICX993N125gjlzEBEBkagZA1AhfFf//ggKgqMjsrPf3dS6NU6dgokJHByQk8NGOAI8e4YDB+BHky6TJmVtjY8/xsmTbOdQPtVV8N9/1A8f4quvsG8frKyaNwMVwlq4uMDNDaNG4d896Xk87N6NESPQrx/u3WMjnNL7/nvMmIEac5AR0jSoH4XsvacK5uVhxAj4+mLUqGaPQYWwdn5+6N4dU6aIo6Kiz58/X1lZWb2Jw8GKFVi6FIMG4do1FjMqo1u3cO4cvLzYzkEU0ejRyM7G5cts51AaOTlwcMD48bVUwfJyjBuHMWNkNIYwFcLacTjYuxexsRNGjvzFxeVcv36jxDX7GAIeHti+HV98gbNn2cqojJYuhY8PtLXZzkEUEZeL2bPh55d49uzZsrIytuMoOEkVHDfufzqtvX79un//rwwNe4tEo7W1X61eLaMwVAjrlJ+fw+O9KSvbXlCwOTNT786/Otw6OuLMGXh4iAcNWmJsbOvg4JL97+eKpOnExSElBTNmsJ2DKK6kpHkXLmwbPz7G2npIKU1L0WxqrYIAfH3XX77snJWV9PLlJIFgrcymF6VCWCdNTU2GyQXKgSqx+EmbNm3+3aZPH8yZ81NsbNmTJ0kxMW4eHvTydTPy8cHKlf+MNEFI06qsrLxwIYFhDr59u/75877x8fFsJ1JMublwcICz87tVEEBmZlZlpSUAhrF8+vSFzCJRIaxTq1atVq3y1Ne3VVfv1b37WCOj2od1fvnyPsM4AByGcbh794GMQyqP06fx5g0mT2Y7B1FcPB6Pyy0HigDweI/atm3LdiKFEhcX/913Phs27B88uNLZGcuX19LG03OSqupMLne7ru638+ZNkVk2KoTv8913rtnZKZmZybdvez56VHubiRO/1NVdDRzncr+zsPhKtgGVRVUVli7F2rWQ2a0SooQ4HE5goL9Q2E9NrZeZWedevXqxnUhxXLt27auvluzePcTH5666um+tVRDAq1cOnTvv3bu3VWzsrhEjhsksHo0sUz+hEDNn4vvvcfBgLVt797aNjNz+yy9nhcKvVq/+MjLyn1FpSFMJDYVAgJEj2c5BFN24cY7jxjneuFE1ejSvvBx8PtuBFMXp0xfy8jyBIWKxQ25u7dPJl5ZiyRKEhnazt+8m43hUCKWyeDHMzJCUhFrngLS2tra2tgZgZQVnZ0RGNnv3T6VSWgp/fxw+zHYOojSsrXlmZggPxxTZ3ZxTcLa23VVVj1ZUjORwzpmZ1T4o1ObNsLWFvb2MowF0a1RKGhrw86u/+5q9PbZtw6hRoLkLm9C2bbCxQb9+bOcgysTbGxs2gGHYzqEoSkpGaWv3+uijIY6Ov4aF1TJsQU4ONm/GmjWyjwZQIZSehwcKC3HqVD3Nxo+HpydGjMDr1zKJpehev8aGDfjhB7ZzECUzdChUVHD+PNs5FML9+5gzB5GR8x48iD9xYl+7du3+3cbXF25urA0gTIVQWlwuNm7E4sX1D8vr7Y0hQzBmDKhLbuP9+CNGj4a5Ods5iPJZuBAbNrAdouUrK4OLC/z9YW1dZ5u0NEREYOlSGcb6X1QIG2DwYHTsiN27628ZEABdXbi50a2VRnnxAnv31tLZiBAZcHHBgwc04lpjLViAjz/+Z5LXWs2fD19f1NZVW0aoEDZMQABWr0ZBQT3NuFyEheHJE3z/vUxiKZzDh4936GDTuXMvG5vQDh3qb09Ik1NRwfz52LyZ7Rwt2c8/4/x57N37vjYREXjyBN98I6tMtaFC2DDm5hg5Uqp56jU0cOoUjh9HUFDzx1IsJSUlc+euevr0YnHxpWvXdufQlFeEJdOmISYGD2icjA/y8CFmzUJ4OHR06mxTWQkfHwQEsDzbORXCBlu5Env3oq7+9TVJprxftw4nTjR/LAXy+vVrLlcEtAbUuNyuVAgJW1q3xjff0NxMH6KiApMmwc8PNjbva7ZzJwwMMHy4rGLVgQphgxkZYfbsWmZSrlWnTjh9GtOnIyGhmWMpEENDQ6GwisPx1dBYJRRmdusm6961hFTz9MThw3j5ku0cLY2XF/T0MGvW+9q8fo3Vq+Xi5jMVwg/h7Y2YGCQlSdXYxgahoXByKlm4cIuHx8JrNIehFLp0OTV5cs/g4K5JSed4PB7bcYjy0tfH2LHYvp3tHC1KRAROnUJoKDic9zVbtQpOTujRQ1ax6sZhFPG9RhcXlzFjxkyYMKH5TrFvH8LCEBsrbXsrK9fU1B4M06tdu6UJCQc7d+7cfNlaur/+wuef4/59tGol0/MWFxerq6tzaTzTxikrK+NyuarsPvNpUnfvon9/ZGSgdWu2o7QET57Azg7Hj+OTT97X7OFD9OmD1FQYGDRjGLFYXFVVVe9vI/3NfyB3d+Tn19+/vlpubhrDeAGDX71yjY292JzRWrxly+DtLesqSEhdunZF//4IDWU7R0tQWYkJE7BoUT1VEICXF7y9m7cKSo8K4Qfi8bB+vVT96yVEIn0OJwrIV1E5Y2Vl2czpWrDUVCQmYvp0tnMQUoOPDzZuRGUl2znkno8P2rTBvHn1NIuNxc2b8PSUSSYpUCH8cMOHw8QEe/ZI1fj48d0jR4Z16+asq/t1crJtM0drwfz8sHgxXQ4S+WJnB5GIXv+ux2+/4dix+h8NisXw8sKPP0JdXVbJ6kOzTzTKhg0YNgyTJ7+vo4yESCQ6cyYEQHo67O1haVn7RBZK7vp1JCXRRBNEHnl7Y+VKjBvHdg75U1JSEh0dXVWlO316359/hp5ePe0PHICqKpydZRJOOnRF2CiWltL2r69maoo9ezBuHHJzmy1Wi7V8OZYuhYYG2zkI+ZdRo1BSgj/+YDuHnCkqKrKyGjxxYvzYsYEmJos+/bSe9iUlWL4cW7bUc9UoY3RF2FgrV8LU9OdLl84MGNB96dK5ampq9e7i6IhLlzBxIs6fB3UNqHbtGlJS8PPPbOcgpDYcDhYswIYNGDiQ7SjyJDY2NitrcGHhagAZGbZisbiu967Ly8tv37598GB7e3s9OzvZpqwPXRE2Vmrq75WVYbGx3uvXV8yZI103e2DNGqiqStsrX0n4+WHJEkjxQYIQdkyahJs3kZzMdg55IhAIeLxMAMAbFZU6q2BeXl63bp85OGwNCBhhb39GhgGlQoWwsc6ejSst/Q6wKC1dHBUVJ+VeXC5++glHj+LYsWZN12JcvYq//oKHB9s5CKmbmho8PeViJBT50bdvX03N9pqaPQ0N7XftqnNe3ZCQQ48eTcvL+z+x+PeNG+Vudiu6NdpYgwfbhYSEFBR053JPfvppAy74BQL88guGDYO5Obp3b76ALcP338PXF3w+2zkIea8ZM/Dxx3j8GMbGbEeRD+HhaNNm/cOHP6qqvu+hn4oKj8MpBQCU83hydwEmd4FanNGjR/344xd2dvP4/JcrV65t0L49e2LTJjg51T+vk2JLSEB6Olxd2c5BSH20teHqisBAtnPIh+JiLF6Mbdvw/ioIwMNjipbWz61bOwqFw7ZtWyGTdA1AQ6w1menT0b79h8wiO2MGXrzAiRPy9RqVLA0Zgq+/Zv++KA2x1iQUb4i1dzx7Bisr3L/P5kSycmLxYmRnIySk/pZPn8LSkomJeWpq2k5dhv0HaYg1WVuwADt2oLS0wTsGBiIvDz/+2AyZWoL4eGRmYupUtnMQIp327TFiRMW8eWd+++23qqoqtuOw5u5dBAdjrXR3wTZtgocHx8qqgyyroPQUsxC+evWqQOZ3G01NYW2NI0cavKOqKo4dw/btOHeuGWLJPV9f+PlBRQ6eViclJeVS785GS0tLy8zMZDtFMxKLxdeujTxwIGHixOiBA53YjsMaT0/4+sLQsP6WeXkIC8P8+c2fqZZT5yUmJtbbTDELYXp6+u3bt2V/3nnzEBCAD7jZbGCA8HC4ueHhw2aIJcdiYvD8OSZNYjsHACAoKChW+vlESB3CwsJOKPRYZPfu3Xv5Updh1r55s/HePebZs2dsJ2JBeDiePcPMmVI13roVzs5o376ZM9UmPj5+48aN9TZTzEIIgJVnn8OGgcP5wLEn+vXD4sUYMSJ16tSFvr5rZX9Fywp/f3m5HJRQyEfmsqfYP0aBQMAwj4FKoKyq6plOveMrKpzqd2Sk+cstLMTOnVi4sPlj1UbKX0WFLYRsmT0bW7Z84L4TJrx4/NgjLOyL9ev1hg+f3KS55NGFC3j+HLJ9pYmQxmrXrt2SJa5CoQ2f38fJab6mpibbiWTN3x8DB2LAAKka79iBoUPRpUszZ2ocKoRNbOpUXLmC9PQP2ffKlStcriMwpKLim4cPc8RicVOnky8rV8LfX44uBwmR0vz532ZlJZ88efPy5ckKffVbiwa9I1NaisBA+Pg0c6ZGU8zuE7q6upqaml27dmXl7I8fO3O55SLR6YbuWFxcnJIiALaWlPBbt/7Kzq5tc8STE2/fdrx/f5qVlR+HIy+/gampqfr6+kKhkO0gLdvdu3fV1NRMTEzYDiILKSnLO3X6SUvrPttBZOf+/f9oaDxv3/6sNI3z8nrn5PTr1m1rc6eqi+T1t5s3b76/mWIWwvDwcC6X27atIhcS0uRevHjRtm1b+Xy9uwXJy8tTVVXV1tZmOwghKCsra9Wq1aBBg97fTDELISGEECIlekZICCFEqVEhJIQQotSoEBJCCFFqVAgJIYQoNUXrw5WUlFRcXFy9aGxs3KlTJxbzEDlXWloaFxenr69vaWkpWcMwTHR0tJaWlp1dA2aXJJmZmQUFBVZWVpLFe/fuPXv2bMCAARylnVSFsOrRo0c1x7xVV1fv06dPXY0VrRBOnjxZTU2tXbt2ksWJEydOmzaN3UhEnuXm5n7++ecikSgzM5PH4wGIj48fOnSora10v87YAAAJrklEQVTt5cuX2U7Xkhw+fDgxMfHUqVMA/vjjj3Hjxu3atYuqIGFLcHDwzp07LSwsJItCofDQoUN1NVa0Qghg+fLlY8eOZTsFaUm6du0aGRk5fPhwACEhIYMGDSosLGQ7VEsVERHh5uZ26NChoUOHsp2FKDV7e/tjx45J05KeERICV1fX0NBQAEVFRREREfRB6oMdPnzYw8Pj9OnTVAVJC6KAV4SENNSYMWMWL16cn59/5syZoUOHKuF8Ak0iISEhJiYmLi6u+oErIS0CXRESAnV1dUdHx/Dw8NDQUDc3N7bjtFQikUhbW/v48eNsByGkYagQEgIAbm5uAQEBGRkZAwcOZDtLS2VsbBwTE7Nv3z5/f3+2sxDSAHRrlBAA6Nu3r42Njb29PZdLnw4/XJcuXWJiYiRjHC9fvpztOIRIhQohIX87fPgw2xEUQXUt5HA4y5YtYzsOIfXjrVixgu0MTcnAwMDW1rZNmzZsByEtA4/H69ixo62tbc0ebxoaGqampmZmZiwGa3G0tLTMzc07d+4MQFdXd/To0bm5uR07dmzVqhXb0Ygy0tbWtrCw+Oijj6RpTNMwEUIIUWr0OIQQQohSo0JICCFEqVEhJIQQotSoEBJCCFFqVAgJIYQoNSqEhBBClBoVQkIIIUqNCiEhpAGCg4OTkpLYTkFIU6JCSAhpgLlz5548eZLtFIQ0JSqEhLCAYZicnJyKiooP2z03N/fVq1eNj1FVVZWVlVVYWFjrVknIN2/eSHm0nJyc/Pz89zd4+/Ztg1MS0syoEBLSBIKCggwMDEpLSyWLS5YsEQgEYWFhksXU1FSBQBAdHQ3g9u3bQ4cO1dDQEAqFrVq1srGxiY+PlzSLjIwUCAQXL16seeT169cLhcLqsrdr1y5jY2N9fX1dXV0LC4s//vij1jw7d+7U1dV9+vRpzZXTp083NzcXi8UAqqqqli9fLhQKDQ0NdXR0+vfvn5aWVt2yqqpq1apVBgYGQqFQR0dHJBIdOXKkvLxcIBC8ffs2ICBAIBAIBILqkYpDQ0ONjY2FQqFAILC0tJR8pxKzZ8/u3bv3mTNnOnbsKBQKvby8PugHTEhzYgghjSZ5bHbhwgXJoqWlJZ/PnzRpkmRx8+bNfD6/sLCQYZg///zTy8srKirq9u3bkZGRn376qY6OTnZ2NsMwFRUVBgYG7u7uNY9samrq6Ogo+Xr9+vVcLtfHx+fq1auJiYmOjo4aGhppaWn/zpOVlaWiorJ27drqNW/fvtXU1PT29pYsfvPNN61atdq0aVNycnJMTEyfPn0MDAzy8vIkW7/99lsul7tgwYLExMTr16/v2bMnJCSkqqoqMjJSQ0Nj4sSJkZGRkZGRd+/eZRhGMmvH+PHjExMTo6Oj+/bty+fzr1+/LjmUu7u7jo6OsbHx/v37ExISEhMTm+YnTkjToUJISBOorKwUCARLly5lGCY7O5vD4cycOVMoFIrFYoZhRo4c+dlnn9W6Y15eHo/H279/v2RxwYIFmpqakpLJMIzkYvH48eMMwxQUFGhqas6ePbt639LSUhMTkxkzZtR65JEjR3bt2rV6MTg4GEBKSgrDMH/99ReHwwkKCqrempWVpaGhsXnzZoZh0tLSOBzOggULaj2slpaW5NusZm5ubm5uXlVVVf0daWlpOTs7Sxbd3d0BREVF1Xo0QuQBzUdISBPg8XgDBgy4cOHC6tWro6OjdXR0vLy8duzYkZaWZmpq+ueffy5YsKC6cU5OTnh4eEZGRlFREQB1dfX79+9LNrm7uwcEBJw8eXLy5MkAQkNDdXV1R4wYASA+Pv7t27cikejChQvVhzIxMbl161atkVxdXcePH3/lyhU7OzvJoXr37t2jRw8Av//+O8Mwbdu2rXkoIyMjyaEkRes///mPNN94aWnpnTt3li1bVj2hsUAgGDp0aM0bvFpaWoMHD5bmaISwggohIU3DwcFh7ty5+fn5UVFRDg4OnTp16tKlS1RUVEFBwZs3bxwcHCTNfv31V2dnZxMTk88++6xt27ZcLpfH41W/kGJhYdGrV6/Q0NDJkyeXlpYePXrU1dVVTU0NQHZ2NoC1a9dWlxyJTp061ZrH0dFRT08vNDTUzs7u0aNHFy9eDAwMlGySHGrOnDnv7CJ5a+bly5cARCKRNN/1kydPxGKxoaFhzZVGRkZ5eXnVi0KhUJpDEcIWKoSENA0HB4eqqqrY2NioqChvb2/JGkkhbN26teSyDMCaNWvs7Oyio6N5PB4AsVi8devWmsdxdXWdP3/+48ePExISXr9+7erqKlmvo6MD4MSJE4MGDZImD5/Pd3FxOXToUEBAQGhoqIqKiouLS81D3bp1y8jI6N87Sua1zs7O1tbWrvcsrVu3BpCbm1tzZW5uruQUEu9UbkLkDf2CEtI0zMzMRCLR3r17MzIyJNd/Dg4OMTEx58+ft7e35/P5kmYZGRk9e/aUVEEAUVFR1e+aSkyaNElVVfXgwYOhoaEWFhbW1taS9Z988omqquqxY8ekj+Tq6pqfn3/69OkDBw5ILhAl6wcMGACgrkPZ29sDOHr0aK1bNTU1S0pKqheNjIyMjY1//fXX6jXFxcVRUVF9+/aVPichLGP7ISUhimPKlCkAOnToIFl8+fKl5GJow4YN1W2++OILQ0PDq1evlpaWRkZGfvTRR+rq6rNmzap5HCcnJ5FIxOPxNm3aVHO9t7c3l8v18/PLyMgoLi6+c+dOYGBgcHDweyJZWFh07NgRQERERM31jo6OrVu3DgoKevbs2du3b1NSUlatWnXu3DnJ1jFjxmhoaAQFBb148SI/Pz8yMvLUqVOSTUOGDOnSpcvZs2evXr369OlThmGCgoIALFq0KCsr6+HDh2PGjOFwODExMZL27u7uNd/ZIUQOUSEkpMmEhIQAqNn/oVevXgBu3LhRvSY9Pd3MzEzyMVRbW/vAgQPGxsbvFELJ0C0qKiovXryouV7Sva/mHUsTE5OjR4++J9L69esBCIXCioqKmuuLi4tnzpwpefoo0b1797i4OMnWoqIiDw8PFZW/H51oaGjs2rVLsik5Obl///6SO6KLFi1iGEYsFvv7+2toaEga6+rqhoWFVZ+ICiGRfxyGYZr1ipMQ8o7KysoHDx4UFxebmZlV1w/pVVRU3L59u6yszMjIqH379o1JUlxcnJ6ezjCMSCTS19d/Z2tBQUF6enqrVq06duyoqan5/kMVFRWlpaXx+Xxzc3NVVdXGpCJExqgQEkIIUWr0sgwhhBClRoWQEEKIUqNCSAghRKlRISSEEKLUqBASQghRalQICSGEKLX/BzROVVFPoONKAAAAAElFTkSuQmCC", "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", "\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", "\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", "\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", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n" ] }, "metadata": {}, "execution_count": 1 } ], "cell_type": "code", "source": [ "using DFTK\n", "using Unitful\n", "using UnitfulAtomic\n", "using LinearAlgebra\n", "using Plots\n", "\n", "# Define the convergence parameters (these should be increased in production)\n", "L = 20 # height of the simulation box\n", "kgrid = [6, 6, 1]\n", "Ecut = 15\n", "temperature = 1e-3\n", "\n", "# Define the geometry and pseudopotential\n", "a = 4.66 # lattice constant\n", "a1 = a*[1/2,-sqrt(3)/2, 0]\n", "a2 = a*[1/2, sqrt(3)/2, 0]\n", "a3 = L*[0 , 0 , 1]\n", "lattice = [a1 a2 a3]\n", "C1 = [1/3,-1/3,0.0] # in reduced coordinates\n", "C2 = -C1\n", "positions = [C1, C2]\n", "C = ElementPsp(:C; psp=load_psp(\"hgh/pbe/c-q4\"))\n", "atoms = [C, C]\n", "\n", "# Run SCF\n", "model = model_PBE(lattice, atoms, positions; temperature)\n", "basis = PlaneWaveBasis(model; Ecut, kgrid)\n", "scfres = self_consistent_field(basis)\n", "\n", "# Construct 2D path through Brillouin zone\n", "kpath = irrfbz_path(model; dim=2, space_group_number=13) # graphene space group number\n", "bands = compute_bands(scfres, kpath; kline_density=20)\n", "plot_bandstructure(bands)" ], "metadata": {}, "execution_count": 1 } ], "nbformat_minor": 3, "metadata": { "language_info": { "file_extension": ".jl", "mimetype": "application/julia", "name": "julia", "version": "1.10.0" }, "kernelspec": { "name": "julia-1.10", "display_name": "Julia 1.10.0", "language": "julia" } }, "nbformat": 4 }