Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Компьютерная визуализация нанообъектов. Учебное пособие

.pdf
Скачиваний:
0
Добавлен:
07.09.2026
Размер:
2 Мб
Скачать
☆
61
Содержание отчета по работе:
- Наименование углеродного нанообъекта
- Ссылка на файл *.pdb (URL)
- Визуализация в двух видах (рис.25)
- Вывод.
Лабораторная работа № 3
Тема: Визуализация структуры фрагмента графенового слоя
средствами программной среды Matlab/Octave
Цель работы: Освоить навыки визуализации фрагмента графено-
вого слоя средствами программной среды Matlab/Octave.
Приборы и материалы: Компьютер с предустановленой про-
граммным пакетом Octave (Matlab или аналогичным).
Задание:
Рассчитать и построить средствами Octave/Matlab фрагмент гра-
фенового слоя.
Вариант работающей программы:
% Программа визуализации структуры графена по статье Н.В. Назаренко, И.Е. Еремин, А.А. Остапенко «Компьютерное моде­лирование атомного каркаса углеродных наноструктур» 2012 г. [5]
clc
t=.1422;
% нм, расстояния между атомами в вершинах правильных ше­стиугольников
R=t;
% нм, радиус описанной окружности
r=(3)^0.5/2;
% нм, радиус вписанной окружности
O=zeros(1,1);
% координаты начальной точки
62
i=0;
j=0;
%Первый этап – расчет координат вершин центрального ше­стиугольника
for beta=pi/3:pi/3:15*pi/6;
i=i+1;
x0(i)=R*cos(beta);
y0(i)=R*sin(beta);
end
%Второй этап – расчет координат вершин и построение шести внешних шестиугольников
for alpha=pi/6:pi/3:12*pi/6;
j=j+1;
x=x0+R*(3)^0.5*cos(alpha);
y=y0+R*(3)^0.5*sin(alpha);
z=zeros(size(x));
plot3(x,y,z);
hold on
end
Рис. 26. Пример визуализации фрагмента графенового слоя
средствами Octave/Matlab
63
Вариант программы с измененными параметрами отображения модели:
%Программа визуализации структуры графена по статье Н.В. Назаренко, И.Е. Еремин, А.А. Остапенко «Компьютерное моде­лирование атомного каркаса углеродных наноструктур» 2012 г. [5]
clc
t=.1422;
% нм, расстояния между атомами в вершинах правильных ше­стиугольников
R=t;
% нм, радиус описанной окружности
r=(3)^0.5/2;
% нм, радиус вписанной окружности
O=zeros(1,1);
% координаты начальной точки
i=0;
j=0;
x1=[];
y1=[];
z1=[];
[x2,y2,z2]=sphere(12);
%Первый этап – расчет координат вершин центрального ше­стиугольника
for beta=pi/3:pi/3:15*pi/6;
i=i+1;
x0(i)=R*cos(beta);
y0(i)=R*sin(beta);
end
%Второй этап – расчет координат вершин и построение шести внешних шестиугольников
for alpha=pi/6:pi/3:12*pi/6;
j=j+1;
x=x0+R*(3)^0.5*cos(alpha);
y=y0+R*(3)^0.5*sin(alpha);
z=zeros(size(x));
x1=vertcat(x1,x);
64
y1=vertcat(y1,y);
z1=vertcat(z1,z);
plot3(x,y,z,'LineWidth',4,'color','k');
hold on
end
%Третий этап – отображение атомов в виде сфер
[a,b]=size(x1);
for i1=1:1:a;
for j1=1:1:b;
x3=x1(i1,j1)+x2*t/4;
y3=y1(i1,j1)+y2*t/4;
z3=z1(i1,j1)+z2*t/4;
surf(x3,y3,z3);
hold on
end
end
shading interp
colormap bone
axis equal
grid off
Рис. 27. Пример визуализации фрагмента графенового слоя средства-
ми Octave/Matlab
65
Содержание отчета по работе:
- Код программы.
- Визуализация полученной модели в нескольких видах (рис.27).
- Вывод.
Лабораторная работа № 4
Тема: Визуализация структуры фрагмента углеродной нанопленки
средствами программной среды Matlab/Octave
Цель работы: Освоить навыки визуализации фрагмента углерод- ной нанопленки средствами программной среды Matlab/Octave.
Приборы и материалы: Компьютер с предустановленой про- граммным пакетом Octave (Matlab или аналогичным).
Задание:
1) Воспроизвести программу визуализации углеродной
нанопленки по работе Н.В. Назаренко, И.Е. Еремин, А.А. Остапенко «Компьютерное моделирование атомного каркаса углеродных нано­структур» 2012 г [5].
2) Произвести расчет и построение углеродной нанопленки раз-
мером 1×1 нм, 3×3 нм, 5×5 нм.
3) Сохранить результаты в виде графического файла.
Вариант работающей программы:
% Программа визуализации углеродной нанопленки
clc
t=0.1422;
% нм, длина связи
R=t;
r=t*sqrt(3)/2;
i=0;
ia=0;
ib=0;
% переменные – счетчики циклов
A=5;
% нм, размер фрагмента пленки по координате X
66
B=5;
% нм, размер фрагмента пленки по координате Y
X=[];
Y=[];
% создание пустых массивов для накопления координат вершин одного шестиугольника
XX=zeros(0:2*r:A-2*r,0:3*R/2:B);
YY=zeros(0:2*r:A-2*r,0:3*R/2:B);
ZZ=zeros(0:2*r:A-2*r,0:3*R/2:B);
% создание нулевых массивов для накопления координат всех ше­стиугольников фрагмента
% Первый этап – накопление массивов координат вершин одного шестиугольника
for alpha=pi/6:pi/3:13*pi/6;
i=i+1;
x=R*cos(alpha);
y=R*sin(alpha);
X=horzcat(X,x);
Y=horzcat(Y,y);
end
Z=zeros(size(X));
% Второй этап – расчет координат вершин и построение всех шестиугольников фрагмента
for ia=1:1:round(A/(2*r));
for ib=1:1:round(B/(R*3/2));
if round(ib/2)>ib/2;
XX(ia,ib)= 2*r*(ia-1)+r;
YY(ia,ib)=3*R/2*(ib-1);
else
XX(ia,ib)= 2*r*(ia-1);
YY(ia,ib)= 3*R/2*(ib-1);
end
plot3(X+XX(ia,ib),Y+YY(ia,ib),Z,'LineWidth',4,'color','k');
hold on
axis equal
end
end
67
Рис. 28. Пример визуализации фрагмента углеродной нанопленки
средствами Octave/Matlab
Содержание отчета по работе:
- Код программы.
- Визуализация модели углеродной нанопленки размером 1×1 нм, 3×3 нм, 5×5 нм (рис.28).
- Вывод.
Лабораторная работа № 5
Тема: Визуализация структуры фрагмента углеродной
нанотрубки типа «zigzag» средствами программной среды
Matlab/Octave
Цель работы: Освоить навыки визуализации углеродной нано­трубки типа «zigzag» средствами программной среды Matlab/Octave.
Приборы и материалы: Компьютер с предустановленой про- граммным пакетом Octave (Matlab или аналогичным).
68
Задание:
1) Построить в среде Octave/Matlab атомный скелет углеродной
нанотрубки типа «zigzag» длиной 5 нм, состоящей из 12 углеродных шестигранников по окружности. Сохранить модель в виде графическо­го файла.
2) Построить в среде Octave/Matlab атомный скелет углеродной
нанотрубки типа «zigzag» длиной 8 нм, состоящей из 18 углеродных шестигранников по окружности. Сохранить модель в виде графическо­го файла.
Вариант работающей программы:
clc
t=0.1422;
% нм, длина связи
l=5;
% длина нанотрубки, нм
r=t*sqrt(3);
% нм, расстояние между ячейками по окружностинм
n=12;
% количество ячеек по окружности
h=3*t;
% нм, высота ячейки
H=round(l/h);
% количество ячеек вдоль нанотрубки
Rt=r/(2*sin(pi/n));
% нм, радиус нанотрубки
X=[];
Y=[];
X0=[];
Y0=[];
Z=[];
% Первый этап – задание координат ячеек первого ряда вокруг нанотрубки
phi=0:2*pi/n:2*pi;
x1=Rt.*cos(phi);
y1=Rt.*sin(phi);
x2=Rt.*cos(phi-pi/n);
69
y2=Rt.*sin(phi-pi/n);
x3=Rt.*cos(phi+pi/n);
y3=Rt.*sin(phi+pi/n);
z=zeros(size(x1));
% Второй этап – задание координат ячеек вдоль нанотрубки
for i=1:1:H;
X=vertcat(X,x1,x2,x2,x1);
Y=vertcat(Y,y1,y2,y2,y1);
Z=vertcat(Z,z+3*t*(i-1),(z+t/2)+3*t*(i-1),(z+3*t/2)+3*t*(i-1), z+2*t+3*t*(i-1)) ;
X0=vertcat(X0,x1,x3,x3,x1);
Y0=vertcat(Y0,y1,y3,y3,y1);
end
% Третий этап – построение межатомных связей с помощью линий, а атомов с помощью круглого маркера
plot3(X,Y,Z,'o','markeredgecolor','k','markerfacecolor','k')
hold on
plot3(X,Y,Z,'k')
hold on
plot3(X0,Y0,Z,'k')
axis equal
Содержание отчета по работе:
- Код программы
- Визуализация модели атомного скелета углеродной нанотрубки дли-
ной 5 нм, состоящей из 12 углеродных шестигранников по окружно­сти.
- Визуализация модели атомного скелета углеродной нанотрубки дли­ной 8 нм, состоящей из 18 углеродных шестигранников по окружности
- Вывод.
70
Рис. 29. Пример визуализации фрагмента углеродной нанотрубки
типа «zigzag» средствами Octave/Matlab
Лабораторная работа № 6
Тема: Визуализация структуры фрагмента углеродной
нанотрубки типа «armchair» средствами программной среды
Matlab/Octave
Цель работы: Освоить навыки визуализации углеродной нано­трубки типа «armchair» средствами программной среды Matlab/Octave.
Приборы и материалы: Компьютер с предустановленой про- граммным пакетом Octave (Matlab или аналогичным).
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]