В общем о задаче
Если выстрелить альфа-частицой в некотором небольшом расстоянии от ядра атома, то из-за одинаково-положительного заряда обоих альфа-частица изменит траекторию.
Немного подробнее
Изначально у нас есть несколько параметров:
- b - "прицельное расстояние" - расстояние от траектории частицы в бесконечности до параллельной ей прямой, проходящей через ядро.
- m,v - масса и скорость частицы(в бесконечности). Эти 2 параметра было решено заменить на 1 - энергию.
- Z - заряд ядра(я думаю не нужно пояснять что это не его заряд, а количество протонов).
- Частица летит в бесконечности.
- На частицу начинает действовать сила отталкивания, она начинает лететь по гиперболической траектории.
- Сила отталкивания перестаёт действовать и она летит по своей ассимптоте.
Проблемы начинаются во втором пункте, когда начинаются откланения. В материалах, по которым изучается весь этот процесс, можно найти только формулу для силы, которая действует на альфа-частицу. Конечно можно выразить ускорение через второй закон Ньютона, но, как сказал наш научный руководитель - это затратно по вычислениям и вообще так никто не делает.
В третьем пункте всё более-менее ясно, формула для угла Θ дана, если всё правильновысчитать то можно легко выразить всё что нужно. Подсчёт Θ имеет некоторые проблемы, которые я опишу далее.
Задача
На данном этапе нужно визуализировать движение частицы.
Проблемы
Итак, по пунктам:
- Не ясен алгоритм, сейчас в коде идёт перебор всех углов от пи, до теты, что мне кажется неверным. Для каждого угла находятся координаты точек.
- При вычислении теты и прочего неясна ситуация со степенями. Примером служит тета, при расчёте которой фигурируют числа порядка 10^32, что не очень приемлемо.
Мысли о решении проблем
Пока я дошёл до того, что нужно разбивать всё это дело на 3 функции и рисовать, а не перебирать углы.
Также нужно решить что-то с коэфициентами чтобы получались адекватные результаты.
Заключение
Погуглив, было найдено несколько готовых визуализаций, одну из которых можете увидеть тут.
Продолжаем биться.
Мысль правильная про разделение на диапазоны, но не до конца. Посмотри на пример ((1 + 1e-122) - 1) * 1e120. Если заставить компьютер вычислить такую формулу, ты наверняка не получишь 100. Потому надо изменять математику, чтобы она правильно рассчитывалась. Да, да, юзать double - не панацея. Идея ясна? 8)
ОтветитьУдалить"Конечно можно выразить ускорение через второй закон Ньютона, но, как сказал наш научный руководитель - это затратно по вычислениям и вообще так никто не делает." Ась? При известной массе и силе накладно вычислить ускорение!?
А влияния альфа частицы на атом не учитывается?
ОтветитьУдалитьEuge, нет, условие задачи подразумевает, что масса ядра настолько больше массы альфа-частицы, что влиянием альфа-частицы на ядро можно пренебречь.
ОтветитьУдалить