Skip to content

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

Notifications You must be signed in to change notification settings

Litvinov-Ivan/lc_oscillator_model

Repository files navigation

Математическое моделирование колебательного контура

Постановка задачи

Дана электрическая схема, состоящая из идеального конденсатора ёмкостью $С=1\ Ф$, идеального индуктора индуктивностью $L=1\ Гн$ и заземления. Пусть в начальный момент времени конденсатор заряжен до $1\ В$, а ток в цепи отсутствует.
circuit
Необходимо:

  1. Составить соответствующую схеме задачу Коши для системы обыкновенных дифференциальных уравнений и решить её любым численным методом на интервале $t\in[0; 100]$.
  2. Построить графики $I(t)$ и $U(t)$.

Решение

Математическая модель

Сперва напишем систему уравнений, описывающих поведение цепи. Для этого воспользуемся правилами Кирхгофа и запишем следующие соотношения:
$$u_C(t) + u_L(t) = 0$$ $$i_C(t) = i_L(t) = i$$
Где:
$$u_L(t) = L\frac{di_L(t)}{d t}$$ $$i_C(t)=C\frac{du_C(t)}{d t}$$ Преобразуем уравнения относительно тока: $$L\frac{di(t)}{d t} + \frac{1}{C}\int\limits_ti(t)dt=0$$ Продифференцируем обе части уравнения: $$\frac{d^2 i(t)}{d^2 t} + \frac{1}{LC} i(t) = 0$$ Заменим переменные: $$i(t)=y_1$$ $$\frac{di(t)}{d t}=y_2$$ Тогда мы можем сделать окончательную постановку задачи Коши для заданного электрического контура (сразу в векторном виде): $$\frac{d}{d t}\binom{y_1}{y_2}=\binom{y_2}{- \frac{1}{LC}y_1}$$ $$y_1(t_0) = 0$$ $$y_2(t_0) = - \frac{U_C}{L} = 1$$ $$t\in[0; 100]$$

Реализация численного метода

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

Выводы

Из полученных результатов можно сделать следующие выводы:

  1. Графики показывают, с одной стороны - согласованность с теорией, говорящей о колебательном процессе в контуре с определённой частотой. С другой стороны - видно накопление ошибки, вызванное погрешностью реализованных здесь методов.
  2. Реализованные решатели показали свою применимость проведения моделирования переходных процессов в колебательном контуре на ограниченном временном интервале.

Кроме того, полученные модули model.py, solver.py и simulation.py созданы в ООП парадигме, что позволяет автоматизировать исследования и численное моделирование LC-контуров с различными параметрами. Возможно как добавление модификаций существующих, так и создание новых решателей без масштабных изменений в коде. В дальнейшем реализованную модель также легко можно модифицировать на более широкий класс LCR-контуров, что сделает её более универсальной.

Codestyle проверен flake8 и pyflakes.

About

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

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published