Сторінка
11
$u[$m][$t] = $u[$m][$tm1] + ($dtau/6)*($z1[$m][$tm1] + 2*$z2[$m][$tm1] + 2*$z3[$m][$tm1] + $z4[$m][$tm1]);
if ($m == $N)
{
$v1[0][$tm1] = $v1[$N][$tm1];
$v2[0][$tm1] = $v2[$N][$tm1];
$v3[0][$tm1] = $v3[$N][$tm1];
$v4[0][$tm1] = $v4[$N][$tm1];
$f[0][$t] = $f[$N][$t];
$w1[0][$tm1] = $w1[$N][$tm1];
$w2[0][$tm1] = $w2[$N][$tm1];
$w3[0][$tm1] = $w3[$N][$tm1];
$w4[0][$tm1] = $w4[$N][$tm1];
$fi[0][$t] = $fi[$N][$t];
$y1[0][$tm1] = $y1[$N][$tm1];
$y2[0][$tm1] = $y2[$N][$tm1];
$y3[0][$tm1] = $y3[$N][$tm1];
$y4[0][$tm1] = $y4[$N][$tm1];
$p[0][$t] = $p[$N][$t];
$z1[0][$tm1] = $z1[$N][$tm1];
$z2[0][$tm1] = $z2[$N][$tm1];
$z3[0][$tm1] = $z3[$N][$tm1];
$z4[0][$tm1] = $z4[$N][$tm1];
$u[0][$t] = $u[$N][$t];
}
if ($m == 1)
{
$v1[$N+1][$tm1] = $v1[1][$tm1];
$v2[$N+1][$tm1] = $v2[1][$tm1];
$v3[$N+1][$tm1] = $v3[1][$tm1];
$v4[$N+1][$tm1] = $v4[1][$tm1];
$f[$N+1][$t] = $f[1][$t];
$w1[$N+1][$tm1] = $w1[1][$tm1];
$w2[$N+1][$tm1] = $w2[1][$tm1];
$w3[$N+1][$tm1] = $w3[1][$tm1];
$w4[$N+1][$tm1] = $w4[1][$tm1];
$fi[$N+1][$t] = $fi[1][$t];
$y1[$N+1][$tm1] = $y1[1][$tm1];
$y2[$N+1][$tm1] = $y2[1][$tm1];
$y3[$N+1][$tm1] = $y3[1][$tm1];
$y4[$N+1][$tm1] = $y4[1][$tm1];
$p[$N+1][$t] = $p[1][$t];
$z1[$N+1][$tm1] = $z1[1][$tm1];
$z2[$N+1][$tm1] = $z2[1][$tm1];
$z3[$N+1][$tm1] = $z3[1][$tm1];
$z4[$N+1][$tm1] = $z4[1][$tm1];
$u[$N+1][$t] = $u[1][$t];
}
//Запис всіх знайдених змінних
$fu = $u[$m][$t];//Тотожність, зручно записувати у файл просто змінну не масива
$fm = $f[$m][$t]*$f[$m][$t]+$fi[$m][$t]*$fi[$m][$t];
//fputs($xwail, "$m $t $fm $fu\n");
$norm += $fm;
}
$norm2 = 0;
$norm = sqrt($norm);
//print "$norm";
for ($m = 1; $m <= $N; $m++) //Перерозрахунок, застосування
//умови нормування
{
if ($norm != 1)
{
$f[$m][$t] = $f[$m][$t]/$norm;
$fi[$m][$t] = $fi[$m][$t]/$norm;
}
$fu = $u[$m][$t];//Тотожність, зручно записувати у файл
//просто змінну не масива
$fm = $f[$m][$t]*$f[$m][$t]+$fi[$m][$t]*$fi[$m][$t];
fputs($xwail, "$m $t $fm $fu\n");
fputs($pot, "$m $fm $fu\n");
$norm2 += $fm;
}
fclose ($pot);
print "Перевірка норми (час $t): $norm<BR>";
}
//Кінець циклу і скрипта майже
print "<b>Success!!</b> <P>Результати обрахунків занесено до файла <B>$filo</B>, який можете
<A href=\"$filo\">скачати звідси</A> й імпортувати для побудови графіків<P>";
?>
<A href="javascript:history.back()">Назад >>></A>
</BODY>
</HTML>
[1] Тобто має вигляд m=n/2, де n – ціле.
[2] Зона Бриллюена – це мінімальний інтервал значень k, що дозволяє описати всі коливання „ґратки”.
[3] Ми будемо мати на увазі саме електрон, але в загальному випадку це може бути будь-яка інша квазічастинка.
[4] У загальному випадку y(r,t), де r – (n-1)-вимірний вектор n-простору, всі координати якого просторові. Але оскільки ланцюжок одновимірний, то нам достатньо обмежитись функцією від однієї просторової координати.
[5] Умови ортоґональності мають вигляд:
[6] Більш детально умови, за яких утворюється солітон, буде показано на прикладі оптичних фононів.
[7] При цьому
[8] Замінимо тоді Підставляючи в інтеґрал, маємо Повернувшись до нашої заміни, отримаємо . При цьому константу інтеґрування не пишемо, оскільки її вже враховано в правій частині рівняння.
[9] Це випливає з того, що у довгохвильовому наближенні і взятої нами умови канонізації рівняння : . У більш загальному випадку фазова швидкість для довгохвильової моделі має вигляд , тобто пропорційна k.
[10] Авторський переклад з англійського „solitary wave”.
[11] Вперше оптичні коливання без урахування дисперсії були розглянуті А. Айнштайном при дослідженні теплоємності твердих тіл. Після того ці найпростіші оптичні фонони було названо айнштайнівськими.
[12] Можна не замикати ланцюжок, а сказати, що він є нескінчений і коливання в ньому періодичні з періодом N (згідно з граничними умовами). Тоді молекула, що знаходиться лівіше першої, поводить себе так само, як N-та молекула.
[13] Зокремо, автор запускав програму на британському веб-сервері Lycos Tripod (www.lycos.co.uk), що надає 20 меґабайт безкоштовного гостинґу будь-кому.
[14] Параметри форми передаються методом GET, тобто їх можна модифікувати у командному рядку бравзера.