This shows you the differences between two versions of the page.
Both sides previous revision Previous revision | |||
nnp:transmission:transmission_through_a_3d_nanowire [2019/10/21 10:54] takuma.sato removed |
— (current) | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ===== Transmission through a 3D nanowire ===== | ||
- | We apply the Contact Block Reduction (CBR) method to a simple GaAs nanowire of cuboidal shape. | ||
- | The corresponding tutorial for nextnano<sup>3</sup> is [[https://www.nextnano.com/nextnano3/tutorial/3Dtutorial_CBR_nanowire.htm|here]]. | ||
- | ==== System ==== | ||
- | We consider a GaAs cuboidal tube of dimensions 10 nm$\times$10 nm$\times$20 nm. Two leads of 10 nm$\times$10 nm each are attached to the edge of the device. | ||
- | |||
- | ==== Input file ==== | ||
- | To simulate 3D (or 2D) system with CBR method in nextnano++ correctly, The quantum regions have to be appropriately specified in the input file. | ||
- | <code> | ||
- | quantum{ | ||
- | region{ | ||
- | name = "lead_1" | ||
- | x = [-6,6] | ||
- | y = [-6,6] | ||
- | z = [-0.1,0.1] | ||
- | boundary{ x=dirichlet y=dirichlet z=cbr } | ||
- | Gamma{ num_ev = $num_eigenstates_device } | ||
- | } | ||
- | } | ||
- | </code> | ||
- | The perpendicular directions, i.e. x- and y-directions, of the system are elongated by one grid due to the treatment of edge points in nextano++. Since the simulation is three dimensional, the lead region specified here has to be two dimensional. The number $\pm0.1$ is chosen to be smaller than the grid spacing, so that the region "lead_1" becomes a 2D sheet (//Note: this is slightly different in nextnano<sup>3</sup> input//). CBR boundary condition has to be imposed in the propagation direction, i.e. z-direction, whereas Dirichlet boundary condition is set for perpendicular directions. | ||
- | |||
- | <code> | ||
- | cbr{ | ||
- | name = "device" | ||
- | lead{ name = "lead_1" } | ||
- | lead{ name = "lead_2" } | ||
- | delta_energy = $delta_energy | ||
- | abs_min_energy = $E_min | ||
- | abs_max_energy = $E_max | ||
- | options = [1, 0, 0] | ||
- | } | ||
- | </code> | ||
- | Here we specify the device region and leads attached to the device. The program calculates transmission through the region "device", from "lead_1" to "lead_2". The resolution, minimum and maximum of the energy axis can be also tuned here. |