з для середньої швидкості руху електронів і показано, що в граничних випадках високих і низьких частот в двустеночних системах формула Ландауера залишається справедливою.
Список використаних джерел
1. Wildoer JWG, Venema LC, Rinzler AG, Smalley RE, Dekker C. Electronic structure of atomically resolved carbon nanotubes// Nature - 1998. - V.391. - P.59 -62. p> 2. Odom T.W., Huang J.L., Kim P., Lieber C.M. Structure and electronic properties of carbon nanotubes// J. Phys. Chem. B - 2000. - V.104 (13). - P.2794-2809. p> 3. Тищенко С.В. Зонна структура та міжзонного переходи у вуглецевих нанотрубках: Дис., 01.04.02 - Одеса, 2007. - 100 с. p> 4. Landauer R. Electrical resistance of disordered one-dimensional lattices// Phyl. Mag. - 1970. - V.21 - No 172. - P.863-867. p> 5. Buttiker M., Imry Y., Landauer R., Pinhas S. Generalized many-channel conductance formula with application to small rings// Phys. Rev. B - 1985. - V.31. - P.6207-6215. p> 6. Ансельм А.І. Введення в теорію напівпровідників - М.: Наука, 1978. - 616 с. br/>
Додаток А. Алгоритм програми для обчислення величини розщеплення в спектрі спрощеної моделі двуслойной нанотрубки у вигляді двох паралельних ланцюжків атомів
Вміст файлу stdafx.h:
# include
# include
# include
class Complex
{
public:
double real;
double image;
Complex () {};// Конструктор за замовчуванням
Complex (double r) {real = r; image = 0;}// Конструктор
Complex (double r, double i) {real = r, image = i;}// Конструктор
~ Complex () {}// Деструктор
double absolute ()// Модуль комплексного числа
{
return sqrt (real * real - image * image);
}
Complex operator + (Complex &);// Перевантаження оператора складання
Complex operator-(Complex &);// Перевантаження оператора віднімання
Complex operator * (Complex &);// Перевантаження оператора множення
Complex operator/(Complex &);// Перевантаження оператора розподілу
};
Вміст файлу Gammakp.cpp:
# include "stdafx.h"
# include
# include
using namespace std;
# define N 30
# define a 1.0
# define b 1.1
# define d 0.5
// Перевантаження +
Complex Complex :: operator + (Complex & fp1)
{
fp1.real = real + fp1.real;
fp1.image = image + fp1.image;
return fp1;
}
// Перевантаження -
Complex Complex :: operator-(Complex & fp1)
{
fp1.real = real - fp1.real;
fp1.image = image - fp1.image;
return fp1;
}
// Перевантаження *
Complex Complex :: operator * (Complex & fp1)
{
double i, j;
i = real * fp1.real - image * fp1.image;
j = real * fp1.image + fp1.real * image;
fp1.real = i;
fp1.image = j;
return fp1;
}
// Перевантаження/
Complex Complex :: operator/(Complex & fp1)
{
double k, i, j;
k = fp1.real * fp1.real + fp1.image * fp1.image;
i = (real * fp1.real + image * fp1.image)/k;
j = (fp1.real * image - real * fp1.image)/k;
fp1.real = i;
fp1.image = j;
return fp1;
}
int main ()
{
Complex Gkp;
double m;
int i, j;
for (i = 0; i
for (j = 0; j
{
Gkp.real = 0;
Gkp.image = 0;
Gkp.real = Gkp.real +1/(double) N * exp (-1/a * sqrt (pow (i * aj * b, 2) + d * d)) * cos (6.28 * i- 6.28 * j);
Gkp.image = Gkp.image-1/(double) N * exp (-1/a * sqrt (pow (i * aj * b, 2) + d * d)) * sin (6.28 * i- 6.28 * j);
}
Gkp.real = pow (Gkp.absolute (), 2);
cout <<"Gkp" <<"" <
getchar ();
}