from NanoTCAD_ViDES import * #I create the (13,0) CNT, 10 nm long CNT=nanotube(13,10); #I create the grid xg=linspace(-1,1,20); yg=xg; grid=grid3D(xg,yg,CNT.z,CNT.x,CNT.y,CNT.z); #I save the computed grid savetxt("gridx.out",grid.gridx); savetxt("gridy.out",grid.gridy); savetxt("gridz.out",grid.gridz); # Now I define the gate regions # The device is a double gate and the oxide thickness is # equal to 0.5 nm # The lateral spacing is 0.5 nm, too top_gate=gate("hex",1,1,-1,1,grid.gridz[0],grid.gridz[grid.nz-1]) bottom_gate=gate("hex",-1,-1,-1,1,grid.gridz[0],grid.gridz[grid.nz-1]) top_gate.Ef=-0.1; bottom_gate.Ef=0; # I take care of the region embedding the CNT, which is SiO2 SiO2=region("hex",-1,1,-1,1,0,grid.gridz[grid.nz-1]); SiO2.eps=3.9; # I then define the interface p=interface3D(grid,top_gate,bottom_gate,SiO2); p.normpoisson=1e-1; # Actually the charge term is imposed to zero, so I # solve the Laplace equation solve_Poisson(grid,p); # I pass the computed potential to the CNT instance. # Note that the I need to grid.swap array to map points # in the 3D domain, to points belonging to the CNT domain CNT.Phi=p.Phi[grid.swap]; CNT.charge_T(); section("z",p.Phi,5,grid);