|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
23.05.2010, 02:15 | #1 |
Новичок
Джуниор
Регистрация: 23.05.2010
Сообщений: 1
|
Моделирование частицы в магнитном поле
Господа!
Есть однородное поле, направленное вдоль оси z величиной 0.2 Тл. Надо посчитать, как будет двигаться электрон в этом поле, то есть его траекторию в 3х-мерном пространстве. Уравнение движения имеет вид диффура второго порядка, которое сводится к диффуру 1го порядка, то есть к задаче Коши. Надо использовать метод Рунге-Кутты. Скорость выберается так, чтобы ларморовский радиус движения был например 1 см (то есть там винтовая линия - в её проекции это окружность с этим радиусом). Координаты не важно какие, все равно поле однородное. Результаты лучше выводить в файл, чтобы потом можно было построить график в какой-нибудь программе (для отладки удобно использовать gnuplot). Входные данные надо читать из файла типа ini. С гарфическим интерфейсом заморачиваться не стоит. Каждая строка ini файла должна иметь формат name = value. Например me = 1.6e-19 //electron charge. 1) Как реализоавть метод Рунге-Кутты здесь? Например - 4го порядка. 2) Как оперировать с вводом/выводом в/из ini файла? Я составил примерный код, но он не по методу Рунге-Кутты: #include <iostream.h> #include <conio.h> #include <fstream.h> int v0, alpha, vperp, vparal, rlarm, pi, H, me, e, x, y, z, t, T; main () { ifsteam input("input.txt"); ofstream output("output.txt"); while (!input.eof()){ input>>rlarm>>alpha>>H>>me>>e; } pi=3.14; v0=(e*H*rlarm)/(m*sine(alpha)); vperp=v0*sine(alpha); vparal=v0*cosine(alpha); T=(2*pi*rlarm)/vperp; for (t=0; t<100; t++) { x=rlarm*cosine(2*pi*t/T); y=rlarm*sine(2*pi*t/T); z=vparal*t; output<<t<<x<<y<<z<<endl; } input.close(); output.close(); return 0; } Последний раз редактировалось ruslan_khatipov; 23.05.2010 в 02:24. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
моделирование | voron.kz | Помощь студентам | 0 | 15.12.2009 02:07 |
После ввода в поле по Enter нужно перейти на другое поле! | •ScReam•™ | Помощь студентам | 2 | 16.06.2009 08:47 |
Как проверить наличие частицы в каждой строке memo? | zotox | Помощь студентам | 13 | 24.03.2009 12:56 |
Как проверить на наличее частицы в Edit1 | zotox | Помощь студентам | 3 | 18.09.2008 15:49 |