An open API service indexing awesome lists of open source software.

https://github.com/fuodorov/computational-physics

Solving problems from the course on the basics of computational physics
https://github.com/fuodorov/computational-physics

computational-physics crank-nicolson eigenvalues eigenvectors fourier machine-epsilon newton-method numerical-methods python runge-kutta tridiagonal-matrix-algorithm

Last synced: 3 months ago
JSON representation

Solving problems from the course on the basics of computational physics

Awesome Lists containing this project

README

          

# Основы вычислительной физики

Решение задач из курса по основам вычислительной физики.

---

Найти эпсилон (ulp.py)

#### Условие

*Машинным* $\epsilon$ называется такое число, что 1 + $\epsilon/2 = 1$, но $1 + \epsilon \not ={1}$. (Также часто используется обозначение ULP - *unit in the last place*, или *unit of least precision*, единица в младшем разряде.) Найти машинное $\epsilon$, число разрядов в мантиссе, максимальную и минимальную степени, при вычислениях с обычной и двойной точностью. Сравнить друг с другом четыре числа: $1, 1 + \frac{\epsilon}{2},1+\epsilon,1+\epsilon+\frac{\epsilon}{2}$, объяснить результат.

#### Указания

При использовании Python воспользуйтесь типами np.float32 и np.float64.

---

Решить уравнение (solve.py)

#### Условие

Используя методы дихотомии, простых итераций и Ньютона, найти уровень энергии $E$ основного состояния квантовой частицы в прямоугольной потенциальной яме.

---

Вычислить интегралы (int.py)

#### Условие

Вычислить интегралы методом трапеций и Симпсона:

1) $\int\frac{1}{1+x^2}dx$

2) $\int x^3e^{\sin(x)}dx$

Как убывает погрешность численного интегрирования с ростом числа интервалов?

---

Вычислить производную (int.py)

#### Условие

Используя интегральное представление для функции Бесселя целового индекса $m$ и
вычисляю производную с помощью конечной разности в тех же точках, что и сам интеграл,
продемонстрировать выполнение равенства $J_0'(x) + J_1(x) = 0$ с точностью не хуже $10^{-10}$ на отрезке $[0, 2\pi]$.

---

Провести интерполяционный полином (polynom.py)

#### Условие

Провести интерполяционный полином $P_n(x)$ для $n = 4, ..., 15$ через точки $x_k = -5 + k*\frac{10}{n}$, $y_k = \frac{1}{1 + x_k^2}$, $k = 0, ..., n$. Построить графики полиномов.

---

Решить задачу Коши (cauchy.py)

#### Условие

Решить задачу Коши методом Эйлера первого порядка точности и методоами Рунге-Кутты второго и четвертого порядка точности.

---

Решить систему уравнений хищник-жертва (lotka_volterra.py)

#### Условие

Решить систему уравнений хищник-жертва методом Рунге-Кутте второго порядка точности. Нарисовать фазовые траектории.

---

Решить жесткую систему уравнений (rigid1.py)

#### Условие

Решить жесткую систему уравнений.

---

Методом прогонки решить разностный аналог граничной задачи (run1.py)

#### Условие

Методом прогонки решить разностный аналог граничной задачи для уравнения $y'' = \cos(x)$
на промежутке $(-\pi/2, \pi/2)$

---

Решить задачу Коши для одномерного уравнения теплопроводности (crank.py)

#### Условие

Решить задачу Коши для одномерного уравнения теплопроводности методом Кранка-Николсон.
На каждом шаге по времени найти максимальное значение температуры и нарисовать зависимость максимальной температуры от времени.
Показать, что на больших временах она убывает экспоненциально. Исследовать сходимость схемы Кранка-Николсон.

---

Найти уровень энергии и волновую функцию основного состояния в потенциальной яме (schrodinger.py)

#### Условие

Найти уровень энергии и волновую функцию основного состояния в потенциальной яме,
решая конечномерный аналог спектральной задачи для одномерного стационарного уравнения Шредингера.

---

Вычислить график спектра мощности (fourier.py)

#### Условие

Вычислить и построить график спектра мощности. Сравнить спектры, полученные с прямоугольным окном и окном Ханна.

---

Курсовая работа

#### Условие

В качестве итоговой курсовой работы взят код [redpic](https://github.com/fuodorov/redpic).

---