{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Carbon Chain (Part 1)\n", "\n", "This example demonstrates the calculations of density of states (DOS) and transmission values for a two-probe carbon chain.\n", "\n", "## Import Necessary Libraries" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "import matplotlib.pyplot as plt\n", "import numpy as np\n", "import junpy as jp\n", "from junpy.factory import nanodcal\n", "%config InlineBackend.figure_formats = ['svg']\n", "%config InlineBackend.rc = {'font.size': 12}" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Load Device\n", "\n", "We use the `nanodcal.load_nanodcal_device` function to load the structures and Hamiltonians from the results of Nanodcal." ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "filename = (\n", " 'jpdataset/nanodcal/twoprobe_carbon_chain/'\n", " 'LDA_SP_dC-3.0-ang/sys_6C-vac5ang-6C/v0.00/NanodcalStructObject.mat')\n", "device = nanodcal.load_nanodcal_device(filename)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Calculate Density of States\n", "\n", "The `jp.DensityOfStates` class is used to contruct a DOS calculation. We set the `device` parameter to input the loaded nanodcal object. `energies` specifies the energies points to be computed. `etaSigma` and `etaGF` set the infinitesimal imaginay number for the electrode self-energy and central Green's function, respectively. Next, we use `jp.run` to start the calculation. Users can set the value of `savefile` to save the results, which can be loaded via the `jp.load` function." ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "tags": [ "hide-output" ] }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "JunPy version---------------------------: 0.15.0.post29+ga5b3260\n", "Parallelization information\n", " BLAS Vendor-----------------------------: MKL\n", " Total number of MPI processes-----------: 1\n", " OMP_NUM_THREADS-------------------------: 1\n", " MKL_NUM_THREADS-------------------------: unset\n", " OPENBLAS_NUM_THREADS--------------------: unset\n", "Calculating density of states... (2024-08-15 20:26:10)\n", " Device information\n", " bias (mu2-mu1)--------------------------: 0.0\n", " central.numberOfSites-------------------: 12\n", " central.spinType------------------------: SpinType.CollinearSpin\n", " lead1.numberOfSites---------------------: 3\n", " lead1.spinType--------------------------: SpinType.CollinearSpin\n", " lead1.direction-------------------------: -3\n", " lead1.temperature-----------------------: 0.0\n", " lead1.chemicalPotential-----------------: -0.0\n", " lead2.numberOfSites---------------------: 3\n", " lead2.spinType--------------------------: SpinType.CollinearSpin\n", " lead2.direction-------------------------: -3\n", " lead2.temperature-----------------------: 0.0\n", " lead2.chemicalPotential-----------------: -0.0\n", " Energy sampling\n", " samplingName----------------------------: CustomSampling\n", " range-----------------------------------: [-4.0000e+00, 6.0000e+00]\n", " number----------------------------------: 101\n", " K-space sampling\n", " samplingName----------------------------: GammaKspaceSampling\n", " numReducedKpoints-----------------------: 1\n", " Runtime message\n", " Integrate over energy and k-space...\n", " Start MPI execution...\n", " --> 5.9% finished (Elapsed time: 0:00:00.157780)\n", " --> 10.9% finished (Elapsed time: 0:00:00.098970)\n", " --> 15.8% finished (Elapsed time: 0:00:00.103462)\n", " --> 20.8% finished (Elapsed time: 0:00:00.107473)\n", " --> 25.7% finished (Elapsed time: 0:00:00.124568)\n", " --> 30.7% finished (Elapsed time: 0:00:00.148198)\n", " --> 35.6% finished (Elapsed time: 0:00:00.155703)\n", " --> 40.6% finished (Elapsed time: 0:00:00.245130)\n", " --> 45.5% finished (Elapsed time: 0:00:00.164388)\n", " --> 50.5% finished (Elapsed time: 0:00:00.164172)\n", " --> 55.4% finished (Elapsed time: 0:00:00.173248)\n", " --> 60.4% finished (Elapsed time: 0:00:00.196932)\n", " --> 65.3% finished (Elapsed time: 0:00:00.176232)\n", " --> 70.3% finished (Elapsed time: 0:00:00.161262)\n", " --> 75.2% finished (Elapsed time: 0:00:00.167534)\n", " --> 80.2% finished (Elapsed time: 0:00:00.157482)\n", " --> 85.1% finished (Elapsed time: 0:00:00.126943)\n", " --> 90.1% finished (Elapsed time: 0:00:00.107382)\n", " --> 95.0% finished (Elapsed time: 0:00:00.112344)\n", " --> 100.0% finished (Elapsed time: 0:00:00.110355)\n", " Wait for other processes...\n", " --> finished (Elapsed time: 0:00:00.000969)\n", " Gather results from other processes...\n", " --> finished (Elapsed time: 0:00:00.001050)\n", " Density of states report\n", " Energy_eV D_up D_dn\n", " -4.000000e+00 1.127021e-02 1.639869e-02\n", " -3.900000e+00 1.171425e-02 1.505244e-02\n", " -3.800000e+00 1.221406e-02 1.395156e-02\n", " -3.700000e+00 1.277625e-02 1.304498e-02\n", " -3.600000e+00 1.340886e-02 1.229498e-02\n", " -3.500000e+00 1.412165e-02 1.167322e-02\n", " -3.400000e+00 1.492656e-02 1.115805e-02\n", " -3.300000e+00 1.583837e-02 1.073276e-02\n", " -3.200000e+00 1.687544e-02 1.038434e-02\n", " -3.100000e+00 1.806097e-02 1.010255e-02\n", " -3.000000e+00 1.942461e-02 9.879335e-03\n", " -2.900000e+00 2.100494e-02 9.708339e-03\n", " -2.800000e+00 2.285314e-02 9.584567e-03\n", " -2.700000e+00 2.503874e-02 9.504137e-03\n", " -2.600000e+00 2.765894e-02 9.464091e-03\n", " -2.500000e+00 3.085441e-02 9.462258e-03\n", " -2.400000e+00 3.483763e-02 9.497155e-03\n", " -2.300000e+00 3.994724e-02 9.567916e-03\n", " -2.200000e+00 4.676125e-02 9.674247e-03\n", " -2.100000e+00 5.635972e-02 9.816404e-03\n", " -2.000000e+00 7.102755e-02 9.995192e-03\n", " -1.900000e+00 9.656241e-02 1.021198e-02\n", " -1.800000e+00 1.527801e-01 1.046874e-02\n", " -1.700000e+00 3.666036e-01 1.076811e-02\n", " -1.600000e+00 1.080420e+01 1.111347e-02\n", " -1.500000e+00 7.382336e+00 1.150910e-02\n", " -1.400000e+00 4.811470e+00 1.196031e-02\n", " -1.300000e+00 4.347782e+00 1.247368e-02\n", " -1.200000e+00 4.229036e+00 1.305738e-02\n", " -1.100000e+00 3.885855e+00 1.372157e-02\n", " -1.000000e+00 3.466896e+00 1.447896e-02\n", " -9.000000e-01 3.080558e+00 1.534567e-02\n", " -8.000000e-01 3.359947e+00 1.634234e-02\n", " -7.000000e-01 3.996898e+00 1.749580e-02\n", " -6.000000e-01 1.068751e+01 1.884167e-02\n", " -5.000000e-01 4.103285e+01 2.042818e-02\n", " -4.000000e-01 2.729543e+01 2.232256e-02\n", " -3.000000e-01 2.465248e+01 2.462150e-02\n", " -2.000000e-01 2.394359e+01 2.746968e-02\n", " -1.000000e-01 2.723034e+01 3.109440e-02\n", " 0.000000e+00 4.198225e+01 3.587518e-02\n", " 1.000000e-01 6.173473e+01 4.249738e-02\n", " 2.000000e-01 5.084898e+00 5.233560e-02\n", " 3.000000e-01 3.664255e+00 6.858646e-02\n", " 4.000000e-01 3.229684e+00 1.005915e-01\n", " 5.000000e-01 3.003310e+00 1.898167e-01\n", " 6.000000e-01 3.171835e+00 1.001302e+00\n", " 7.000000e-01 3.428784e+00 8.579854e+00\n", " 8.000000e-01 3.875359e+00 5.457506e+00\n", " 9.000000e-01 4.095121e+00 4.081743e+00\n", " 1.000000e+00 3.924991e+00 3.746982e+00\n", " 1.100000e+00 3.811351e+00 3.615943e+00\n", " 1.200000e+00 4.889778e+00 3.398703e+00\n", " 1.300000e+00 8.032514e+00 3.127002e+00\n", " 1.400000e+00 6.371544e+00 2.884156e+00\n", " 1.500000e+00 3.099948e-01 2.854206e+00\n", " 1.600000e+00 1.330055e-01 2.811669e+00\n", " 1.700000e+00 8.461705e-02 2.900643e+00\n", " 1.800000e+00 6.238306e-02 3.134286e+00\n", " 1.900000e+00 4.959117e-02 4.305620e+00\n", " 2.000000e+00 4.123443e-02 6.459996e+01\n", " 2.100000e+00 3.531526e-02 2.722599e+01\n", " 2.200000e+00 3.088445e-02 2.113562e+01\n", " 2.300000e+00 2.743347e-02 2.180168e+01\n", " 2.400000e+00 2.466486e-02 1.891568e+01\n", " 2.500000e+00 2.239253e-02 2.171674e+01\n", " 2.600000e+00 2.049371e-02 2.116281e+01\n", " 2.700000e+00 1.888388e-02 3.265226e+01\n", " 2.800000e+00 1.750276e-02 3.283530e+01\n", " 2.900000e+00 1.630609e-02 6.637641e+00\n", " 3.000000e+00 1.526056e-02 3.041749e+00\n", " 3.100000e+00 1.434060e-02 2.565953e+00\n", " 3.200000e+00 1.352617e-02 2.483527e+00\n", " 3.300000e+00 1.280138e-02 2.749144e+00\n", " 3.400000e+00 1.215340e-02 3.073155e+00\n", " 3.500000e+00 1.157179e-02 3.353360e+00\n", " 3.600000e+00 1.104796e-02 3.386515e+00\n", " 3.700000e+00 1.057474e-02 3.183820e+00\n", " 3.800000e+00 1.014615e-02 3.038609e+00\n", " 3.900000e+00 9.757130e-03 3.489639e+00\n", " 4.000000e+00 9.403365e-03 5.231762e+00\n", " 4.100000e+00 9.081178e-03 7.477820e+00\n", " 4.200000e+00 8.787404e-03 3.371269e+00\n", " 4.300000e+00 8.519308e-03 2.192419e-01\n", " 4.400000e+00 8.274517e-03 1.060757e-01\n", " 4.500000e+00 8.050964e-03 7.045838e-02\n", " 4.600000e+00 7.846843e-03 5.319246e-02\n", " 4.700000e+00 7.660571e-03 4.297442e-02\n", " 4.800000e+00 7.490755e-03 3.618328e-02\n", " 4.900000e+00 7.336172e-03 3.131745e-02\n", " 5.000000e+00 7.195740e-03 2.764516e-02\n", " 5.100000e+00 7.068507e-03 2.476743e-02\n", " 5.200000e+00 6.953630e-03 2.244791e-02\n", " 5.300000e+00 6.850366e-03 2.053728e-02\n", " 5.400000e+00 6.758058e-03 1.893631e-02\n", " 5.500000e+00 6.676129e-03 1.757628e-02\n", " 5.600000e+00 6.604071e-03 1.640793e-02\n", " 5.700000e+00 6.541440e-03 1.539497e-02\n", " 5.800000e+00 6.487852e-03 1.450996e-02\n", " 5.900000e+00 6.442972e-03 1.373179e-02\n", " 6.000000e+00 6.406518e-03 1.304389e-02\n", "Calculation of density of states finished (2024-08-15 20:26:14)\n", "Elapsed time----------------------------: 0:00:03.013240\n" ] } ], "source": [ "calcr_dos = jp.DensityOfStates(\n", " device=device,\n", " energies=np.linspace(-4, 6, 101),\n", " etaSigma=0.01,\n", " etaGF=0.01)\n", "jp.run(calcr_dos, savefile=False)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The `[calcr].densityOfStates` function returns the calculated DOS values with the shape of `(#kpoints, #energies, #spin)`. Setting `spin='diag'` indicates that the function will return both spin-up and spin-down values. " ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "image/svg+xml": [ "\n", "\n", "\n", " \n", " \n", " \n", " \n", " 2024-08-15T20:26:22.933670\n", " image/svg+xml\n", " \n", " \n", " Matplotlib v3.7.2, https://matplotlib.org/\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n" ], "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# shape: (#kpoints, #energies, #spin)\n", "dos = calcr_dos.densityOfStates(spin='diag')\n", "\n", "plt.plot(calcr_dos.energies, dos[0,:,0], '.-', label='spin-up')\n", "plt.plot(calcr_dos.energies, dos[0,:,1], '.-', label='spin-down')\n", "plt.xlabel('Energy (eV)')\n", "plt.ylabel('DOS (1/eV)')\n", "plt.legend()\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Calculate Transmission\n", "\n", "Similar to the DOS calculation, we use `jp.Transmission` to construct the transmission calculation." ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "tags": [ "hide-output" ] }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "JunPy version---------------------------: 0.15.0.post29+ga5b3260\n", "Parallelization information\n", " BLAS Vendor-----------------------------: MKL\n", " Total number of MPI processes-----------: 1\n", " OMP_NUM_THREADS-------------------------: 1\n", " MKL_NUM_THREADS-------------------------: unset\n", " OPENBLAS_NUM_THREADS--------------------: unset\n", "Calculating transmission... (2024-08-15 20:26:28)\n", " Device information\n", " bias (mu2-mu1)--------------------------: 0.0\n", " central.numberOfSites-------------------: 12\n", " central.spinType------------------------: SpinType.CollinearSpin\n", " lead1.numberOfSites---------------------: 3\n", " lead1.spinType--------------------------: SpinType.CollinearSpin\n", " lead1.direction-------------------------: -3\n", " lead1.temperature-----------------------: 0.0\n", " lead1.chemicalPotential-----------------: -0.0\n", " lead2.numberOfSites---------------------: 3\n", " lead2.spinType--------------------------: SpinType.CollinearSpin\n", " lead2.direction-------------------------: -3\n", " lead2.temperature-----------------------: 0.0\n", " lead2.chemicalPotential-----------------: -0.0\n", " Energy sampling\n", " samplingName----------------------------: CustomSampling\n", " range-----------------------------------: [-4.0000e+00, 6.0000e+00]\n", " number----------------------------------: 101\n", " K-space sampling\n", " samplingName----------------------------: GammaKspaceSampling\n", " numReducedKpoints-----------------------: 1\n", " Runtime message\n", " Integrate over energy and k-space...\n", " Start MPI execution...\n", " --> 5.9% finished (Elapsed time: 0:00:00.179570)\n", " --> 10.9% finished (Elapsed time: 0:00:00.124961)\n", " --> 15.8% finished (Elapsed time: 0:00:00.124341)\n", " --> 20.8% finished (Elapsed time: 0:00:00.130004)\n", " --> 25.7% finished (Elapsed time: 0:00:00.146647)\n", " --> 30.7% finished (Elapsed time: 0:00:00.173420)\n", " --> 35.6% finished (Elapsed time: 0:00:00.187555)\n", " --> 40.6% finished (Elapsed time: 0:00:00.211225)\n", " --> 45.5% finished (Elapsed time: 0:00:00.197474)\n", " --> 50.5% finished (Elapsed time: 0:00:00.187446)\n", " --> 55.4% finished (Elapsed time: 0:00:00.221113)\n", " --> 60.4% finished (Elapsed time: 0:00:00.199818)\n", " --> 65.3% finished (Elapsed time: 0:00:00.212808)\n", " --> 70.3% finished (Elapsed time: 0:00:00.179722)\n", " --> 75.2% finished (Elapsed time: 0:00:00.185184)\n", " --> 80.2% finished (Elapsed time: 0:00:00.186060)\n", " --> 85.1% finished (Elapsed time: 0:00:00.144540)\n", " --> 90.1% finished (Elapsed time: 0:00:00.171482)\n", " --> 95.0% finished (Elapsed time: 0:00:00.173372)\n", " --> 100.0% finished (Elapsed time: 0:00:00.136908)\n", " Wait for other processes...\n", " --> finished (Elapsed time: 0:00:00.000013)\n", " Gather results from other processes...\n", " --> finished (Elapsed time: 0:00:00.000059)\n", " Transmission report\n", " Energy_eV T_up T_dn\n", " -4.000000e+00 3.568769e-25 1.086498e-23\n", " -3.900000e+00 5.493207e-25 5.768998e-24\n", " -3.800000e+00 9.184429e-25 3.357583e-24\n", " -3.700000e+00 1.655759e-24 2.125167e-24\n", " -3.600000e+00 3.193358e-24 1.452455e-24\n", " -3.500000e+00 6.549973e-24 1.064571e-24\n", " -3.400000e+00 1.424297e-23 8.311436e-25\n", " -3.300000e+00 3.281372e-23 6.867108e-25\n", " -3.200000e+00 8.020403e-23 5.968460e-25\n", " -3.100000e+00 2.085829e-22 5.428753e-25\n", " -3.000000e+00 5.795699e-22 5.146546e-25\n", " -2.900000e+00 1.729808e-21 5.070578e-25\n", " -2.800000e+00 5.582701e-21 5.183081e-25\n", " -2.700000e+00 1.964410e-20 5.493327e-25\n", " -2.600000e+00 7.614856e-20 6.038201e-25\n", " -2.500000e+00 3.295224e-19 6.889433e-25\n", " -2.400000e+00 1.619688e-18 8.169458e-25\n", " -2.300000e+00 9.256830e-18 1.008095e-24\n", " -2.200000e+00 6.356741e-17 1.296021e-24\n", " -2.100000e+00 5.505632e-16 1.737447e-24\n", " -2.000000e+00 6.495195e-15 2.430272e-24\n", " -1.900000e+00 1.195445e-13 3.548076e-24\n", " -1.800000e+00 4.565681e-12 5.407865e-24\n", " -1.700000e+00 8.546694e-10 8.607290e-24\n", " -1.600000e+00 1.911524e-04 1.431190e-23\n", " -1.500000e+00 9.459319e-04 2.487799e-23\n", " -1.400000e+00 1.860142e-03 4.525445e-23\n", " -1.300000e+00 2.543458e-03 8.626567e-23\n", " -1.200000e+00 2.878037e-03 1.726329e-22\n", " -1.100000e+00 3.211477e-03 3.634836e-22\n", " -1.000000e+00 3.744801e-03 8.074156e-22\n", " -9.000000e-01 4.089340e-03 1.898336e-21\n", " -8.000000e-01 5.569328e-03 4.742493e-21\n", " -7.000000e-01 6.286368e-03 1.264843e-20\n", " -6.000000e-01 6.752022e-03 3.621892e-20\n", " -5.000000e-01 7.122807e-03 1.121337e-19\n", " -4.000000e-01 7.547907e-03 3.786295e-19\n", " -3.000000e-01 8.212986e-03 1.409789e-18\n", " -2.000000e-01 9.534190e-03 5.871544e-18\n", " -1.000000e-01 1.160203e-02 2.787783e-17\n", " 0.000000e+00 1.573092e-02 1.548968e-16\n", " 1.000000e-01 1.162909e-02 1.045907e-15\n", " 2.000000e-01 1.138167e-02 9.093653e-15\n", " 3.000000e-01 1.119427e-02 1.121634e-13\n", " 4.000000e-01 1.101313e-02 2.364180e-12\n", " 5.000000e-01 1.099336e-02 1.348291e-10\n", " 6.000000e-01 1.222977e-02 1.981699e-07\n", " 7.000000e-01 1.156938e-02 6.432205e-04\n", " 8.000000e-01 1.052950e-02 1.568219e-03\n", " 9.000000e-01 8.555938e-03 2.749335e-03\n", " 1.000000e+00 6.310701e-03 3.488483e-03\n", " 1.100000e+00 4.503891e-03 3.841601e-03\n", " 1.200000e+00 3.148973e-03 4.278159e-03\n", " 1.300000e+00 1.613886e-03 5.030354e-03\n", " 1.400000e+00 1.236328e-04 6.035115e-03\n", " 1.500000e+00 3.319599e-09 7.614844e-03\n", " 1.600000e+00 3.358661e-11 8.073908e-03\n", " 1.700000e+00 1.430975e-12 8.136489e-03\n", " 1.800000e+00 1.171936e-13 7.877373e-03\n", " 1.900000e+00 1.427212e-14 7.692115e-03\n", " 2.000000e+00 2.287498e-15 7.897747e-03\n", " 2.100000e+00 4.501481e-16 8.721847e-03\n", " 2.200000e+00 1.040753e-16 1.039420e-02\n", " 2.300000e+00 2.743403e-17 1.311429e-02\n", " 2.400000e+00 8.068509e-18 1.672900e-02\n", " 2.500000e+00 2.605106e-18 2.053977e-02\n", " 2.600000e+00 9.118984e-19 2.325163e-02\n", " 2.700000e+00 3.426417e-19 2.532241e-02\n", " 2.800000e+00 1.370907e-19 1.807458e-02\n", " 2.900000e+00 5.801814e-20 1.464895e-02\n", " 3.000000e+00 2.582793e-20 1.282680e-02\n", " 3.100000e+00 1.203745e-20 1.179520e-02\n", " 3.200000e+00 5.849759e-21 1.121240e-02\n", " 3.300000e+00 2.953763e-21 1.189348e-02\n", " 3.400000e+00 1.544954e-21 1.146806e-02\n", " 3.500000e+00 8.348074e-22 1.034134e-02\n", " 3.600000e+00 4.648907e-22 8.438088e-03\n", " 3.700000e+00 2.662484e-22 6.396584e-03\n", " 3.800000e+00 1.565206e-22 4.789009e-03\n", " 3.900000e+00 9.429024e-23 3.695378e-03\n", " 4.000000e+00 5.811813e-23 2.732662e-03\n", " 4.100000e+00 3.660265e-23 1.232044e-03\n", " 4.200000e+00 2.352538e-23 3.872268e-05\n", " 4.300000e+00 1.541371e-23 2.962225e-09\n", " 4.400000e+00 1.028486e-23 5.969100e-11\n", " 4.500000e+00 6.982854e-24 3.774545e-12\n", " 4.600000e+00 4.820343e-24 4.137508e-13\n", " 4.700000e+00 3.380984e-24 6.380405e-14\n", " 4.800000e+00 2.408125e-24 1.249691e-14\n", " 4.900000e+00 1.740903e-24 2.930559e-15\n", " 5.000000e+00 1.276899e-24 7.922661e-16\n", " 5.100000e+00 9.499194e-25 2.405968e-16\n", " 5.200000e+00 7.165752e-25 8.054888e-17\n", " 5.300000e+00 5.480379e-25 2.931281e-17\n", " 5.400000e+00 4.249060e-25 1.146937e-17\n", " 5.500000e+00 3.339619e-25 4.783388e-18\n", " 5.600000e+00 2.660954e-25 2.111488e-18\n", " 5.700000e+00 2.149573e-25 9.807882e-19\n", " 5.800000e+00 1.760756e-25 4.770711e-19\n", " 5.900000e+00 1.462689e-25 2.420031e-19\n", " 6.000000e+00 1.232526e-25 1.275714e-19\n", "Calculation of transmission finished (2024-08-15 20:26:32)\n", "Elapsed time----------------------------: 0:00:03.504264\n" ] } ], "source": [ "calcr_trans = jp.Transmission(\n", " device=device,\n", " energies=np.linspace(-4, 6, 101),\n", " etaSigma=0.01,\n", " etaGF=0.01)\n", "jp.run(calcr_trans, savefile=False)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "After the evaluation, the transmission values are retrieved using `[calcr].transmission`." ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "image/svg+xml": [ "\n", "\n", "\n", " \n", " \n", " \n", " \n", " 2024-08-15T20:26:34.270948\n", " image/svg+xml\n", " \n", " \n", " Matplotlib v3.7.2, https://matplotlib.org/\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n" ], "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# shape: (#kpoints, #energies, #spin)\n", "trans = calcr_trans.transmission(spin='diag')\n", "\n", "plt.plot(calcr_trans.energies, trans[0,:,0], '.-', label='spin-up')\n", "plt.plot(calcr_trans.energies, trans[0,:,1], '.-', label='spin-down')\n", "plt.xlabel('Energy (eV)')\n", "plt.ylabel('Transmission')\n", "plt.legend()\n", "plt.show()" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.10.13" } }, "nbformat": 4, "nbformat_minor": 2 }