Форум программистов CodeGuru
13 Ноябрь 2018, 07:18:16 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.

Войти
Новости:
 
   Начало   Помощь Войти Регистрация  
Страниц: [1]   Вниз
  Печать  
Автор Тема: Помогите с вопросом  (Прочитано 7856 раз)
0 Пользователей и 1 Гость смотрят эту тему.
ruslan_khatipov
Новичок
*
Офлайн Офлайн

Сообщений: 1


Просмотр профиля
« : 23 Май 2010, 02:10:20 »

Господа!

Есть однородное поле, направленное вдоль оси 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;

}
« Последнее редактирование: 23 Май 2010, 02:25:29 от ruslan_khatipov » Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2015, Simple Machines Valid XHTML 1.0! Valid CSS!