• Численные методы решения систем нелинейных уравнений

      Введение


      Многие прикладные задачи приводят к необходимости нахождения общего решения системы нелинейных уравнений. Общего аналитического решения системы нелинейных уравнений не найдено. Существуют лишь численные методы.

      Следует отметить интересный факт о том, что любая система уравнений над действительными числами может быть представлена одним равносильным уравнением, если взять все уравнения в форме , возвести их в квадрат и сложить.

      Для численного решения применяются итерационные методы последовательных приближений (простой итерации) и метод Ньютона в различных модификациях. Итерационные процессы естественным образом обобщаются на случай системы нелинейных уравнений вида:

      (1)

      Обозначим через вектор неизвестных и определим вектор-функцию Тогда система (1) записывается в виде уравнения:

      (2)

      Теперь вернёмся к всеми любимому Python и отметим его первенство среди языков программирования, которые хотят изучать [1].



      Этот факт является дополнительным стимулом рассмотрения числительных методов именно на Python. Однако, среди любителей Python бытует мнение, что специальные библиотечные функции, такие как scipy.optimize.root, spsolve_trianular, newton_krylov, являются самым лучшим выбором для решения задач численными методами.

      С этим трудно не согласится хотя бы потому, что в том числе и разнообразие модулей подняло Python на вершину популярности. Однако, существуют случаи, когда даже при поверхностном рассмотрении использование прямых известных методов без применения специальных функций библиотеки SciPy тоже дают неплохие результаты. Иными словами, новое- это хорошо забытое старое.
      Читать дальше →
    • Численные методы решения уравнений эллиптического типа

        Введение


        Наиболее распространённым уравнением эллиптического типа является уравнение Пуассона.
        К решению этого уравнения сводятся многие задачи математической физики, например задачи о стационарном распределении температуры в твердом теле, задачи диффузии, задачи о распределении электростатического поля в непроводящей среде при наличии электрических зарядов и многие другие.

        Для решения эллиптических уравнений в случае нескольких измерений используют численные методы, позволяющие преобразовать дифференциальные уравнения или их системы в системы алгебраических уравнений. Точность решения опреде­ляется шагом координатной сетки, количеством итераций и разрядной сеткой компьютера [1]

        Цель публикации получить решение уравнения Пуассона для граничных условий Дирихле и Неймана, исследовать сходимость релаксационного метода решения на примерах.
        Читать дальше →
      • Численное решение математических моделей объектов заданных системами дифференциальных уравнений

          Введение:


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

          Исследование функционирования таких устройств требуют решения указанных систем уравнений. Поскольку основная часть таких уравнений являются нелинейными и нестационарными, часто невозможно получить их аналитическое решение.

          Возникает необходимость использовать численные методы, наиболее известным из которых является метод Рунге — Кутты [1]. Что касается Python, то в публикациях по численным методам, например [2,3], данных по применение Рунге — Кутты крайне мало, а по его модификации — методу Рунге-Кутта-Фельберга вообще нет.

          В настоящее время, благодаря простому интерфейсу, наибольшее распространение в Python имеет функцию odeint из модуля scipy.integrate. Вторая функция ode из этого модуля реализует несколько методов, в том числе и упомянутый пятиранговый метод Рунге-Кутта-Фельберга, но, вследствие универсальности, имеет ограниченное быстродействие.

          Целью настоящей публикации является сравнительный анализ перечисленных средств численного решения систем дифференциальных уравнений с модифицированным автором под Python методом Рунге-Кутта-Фельберга. В публикации так же приведены решения по краевым задачам для систем дифференциальных уравнений (СДУ).
          Читать дальше →
        • Ядерные ракетные двигатели и ядерные ракетные электродвигательные установки

            Часто в общеобразовательных публикациях о космонавтике не различают разницу между ядерным ракетным двигателем (ЯРД) и ядерной ракетной электродвигательной установкой (ЯЭДУ). Однако под этими аббревиатурами скрывается не только разница в принципах преобразования ядерной энергии в силу тяги ракеты, но и весьма драматичная история развития космонавтики.

            Драматизм истории состоит в том, что если бы остановленные главным образом по экономическим причинам исследования ЯДУ и ЯЭДУ как в СССР, так и в США продолжились, то полёты человека на марс давно бы уже стали обыденным делом.

            Всё начиналось с атмосферных летательных аппаратов с прямоточным ядерным двигателем


            Конструкторы в США и СССР рассматривали «дышащие» ядерные установки, способные втягивать забортный воздух и разогревать его до колоссальных температур. Вероятно, этот принцип образования тяги был заимствован от прямоточных воздушно-реактивных двигателей, только вместо ракетного топлива использовалась энергия деления атомных ядер диоксида урана 235.
            Читать дальше →
          • Динамика вертикального полёта летательного аппарата легче воздуха

              Введение


              Определение скорости подъёма и спуска летательных аппаратов легче воздуха (ЛАЛВ) до настоящего времени является практически важной задачей, возникающей при проектировании таких аппаратов.

              Большое количество публикаций посвящено ЛАЛВ, например, только на нашем ресурсе приведены две очень интересные статьи [1,2], касающиеся истории развития на примере конкретных конструкций дирижаблей и стратостатов. Однако очень мало расчётов динамики вертикального полёта таких устройств, позволяющих хотя бы ориентировочно определять скорости подъёма и спуска ЛАЛВ.

              Последнее утверждение требует определённого пояснения, поскольку искушённый читатель хорошо помнит школьный курс физики, в котором решались задачи на высоту подъёма и другие параметры воздушных шаров, заполненных газами легче воздуха или самим подогреваемым во время полёта воздухом.

              Все указанные задачи были основаны на равенстве двух сил: силы веса и выталкивающей силы. Газы считались идеальными и их параметры вычислялись по закону Менделеева Клапейрона. Однако, даже простой учёт третьей силы сопротивления воздуха уже приводит к системе дифференциальных уравнений, которая аналитически не решается. Необходимо так же учитывать изменение плотности атмосферного воздуха с высотой подъёма и температурой.

              Кроме этого, если нужно рассмотреть не только подъём, но и зависание шара и его спуск на землю, то совсем уж не детская задача получается. Надеюсь, что рассмотрение решения подобной задачи средствами Python не только будет способствовать расширению знаний по физике, но и популяризации самого языка программирования Python. Что я и пытаюсь делать в своих публикациях на этом ресурсе.
              Читать дальше →
            • Программная реализация БИХ-фильтра в информационно-измерительном канале

                Информацию о состоянии окружающей среды или, например, некоторого объекта управления можно получать, измеряя текущие значения параметров, характеризующих те или иные свойства среды или объекта. Для получения, обработки и передачи такой информации техническими средствами, значение измеряемого параметра необходимо преобразовать автоматическими измерительными устройствами в сигнал измерительной информации. Для этого реализуют информационно-измерительный канал (ИИК), как совокупность технических средств, каждое из которых будет выполнять свою определённую функцию, начиная от восприятия измеряемой величины и заканчивая получением измерительной информации в форме, удобной для восприятия человеком или для дальнейшей её обработки. И всё бы хорошо, да вот по пути следования информации на полезный сигнал y(t) измерительной информации накладывается помеха e(t) – случайная функция времени, которая может моделировать и случайную погрешность измерительного преобразователя, и электрические наводки в соединительных проводах, и случайные пульсации измеряемого параметра, и другие факторы.
                Читать дальше →
              • Определение баллистико-временных характеристик движения центра масс парашютиста, десантированного с самолёта

                  Введение


                  Для определения баллистико-временных характеристик движения центра масс парашютиста приходится выбирать упрощенную математическую модель, вполне доступную для аналитического исследования и в то же время сохраняющую наиболее характерные черты исходного объекта.

                  Для построения упрощённых математических моделей движения парашютиста проводится анализ, определение, систематизация постоянных и временных параметров.

                  Регулярных и достаточно обоснованных методов построения нелинейных математических моделей в настоящее время не существует, однако для решения частных задач, при правильном составлении исходных систем нелинейных дифференциальных уравнений, численные методы их решения могут давать вполне адекватные результаты.
                  Читать дальше →
                • Определение плотности газа по результатам измерения давления и температуры датчиками Arduino

                    Введение


                    Задача измерения параметров газовой смеси широко распространена в промышленности и торговле. Проблема получения достоверной информации при измерении параметров состояния газовой среды и её характеристик с помощью технических средств разрешается принятыми в стандартах методиками выполнения измерений (МВИ), например, при измерении расхода и количества газов с помощью стандартных сужающих устройств [1], или с помощью турбинных, ротационных и вихревых расходомеров и счётчиков [2].

                    Периодический газовый анализ позволяет установить соответствие между реальной анализируемой смесью и её моделью, по которой в МВИ учитываются физико-химические параметры газа: состав газовой смеси и плотность газа при стандартных условиях.
                    Также в МВИ учитываются теплофизические характеристики газа: плотность при рабочих условиях (давление и температура газа, при которых выполняют измерение его расхода или объёма), вязкость, фактор и коэффициент сжимаемости.
                    Читать дальше →
                  • Измерение уровня жидкости в топливном баке ракеты



                      Введение


                      Топливо из резервуара окислителя и резервуара горючего поступает в камеру сгорания ракетного двигателя. Синхронная подача топлива в заданной пропорции обеспечивает эффективную работу ракетного двигателя.

                      Эффективная работа зависит от точного измерения уровня топлива в баке. Для этой цели топливный бак имеет систему управления топливом. Система представляет собой вертикальный измерительный канал с датчиками внутри канала для фиксации свободного уровня жидкости в канале [1]:


                      Рисунок. Схема топливного бака. 1- резервуар, 2- топливо, 3- измерительный канал, Po — давление газа, — уровень жидкости в канале, H — уровень жидкости в баке, r,x — координатные оси.

                      Вертикальный канал и топливный бак являются сообщающими сосудами. При снижении уровня топлива в баке, уменьшается и уровень топлива в измерительном канале. Когда уровень топлива в канале достигает датчика, происходит активация датчика. Сигнал поступает в систему управления топливом.

                      В результате расхода топлива его уровень в баке меняется. Таким образом, уровень топлива в канале должен определять уровень топлива в баке. Проблемы две. Первая методическая состоит в том, что свободная поверхность топлива в баке не совпадает с поверхностью топлива в канале.

                      Вторая проблема в колебаниях уровня при изменении ускорений ракеты в полёте, что приводит к ложным срабатываниям датчиков и, как следствие, к погрешностям измерения.

                      Ошибка измерения уровня топлива приводит к неэффективному расходу топлива. В результате ракетный двигатель работает не оптимально, а в танках может оставаться «лишнее» количество топлива.

                      Далее рассмотрим, как можно определить методическую погрешность от первой проблемы и уменьшить погрешность измерения от второй.
                      Читать дальше →
                    • Пространство состояний в задачах проектирования систем оптимального управления


                        Введение


                        Исследование системы управления во временной области с помощью переменных состояния широко используется в последнее время благодаря простоте проведения анализа.

                        Состоянию системы соответствует точка в определённом евклидовом пространстве, а поведение системы во времени характеризуется траекторией, описываемой этой точкой.

                        При этом математический аппарат включает готовые решения по аналоговому и дискретному LQR и DLQR контролерам, фильтра Калмана, и всё это с применением матриц и векторов, что и позволяет записывать уравнения системы управления в обобщённом виде, получая дополнительную информацию при их решении.

                        Целью данной публикации является рассмотрение решения задач проектирования систем оптимального управления методом описания пространства состояний с использованием программных средств Python.
                        Читать дальше →
                      • Моделирование системы управления самолётом



                          Здравствуйте!


                          В предыдущей статье [1] мы рассмотрели некоторые особенности применения библиотеки Python Control Systems Library для проектирования систем управления. Однако, в последнее время широко используется проектирование систем управления с помощью переменных состояния, что значительно упрощает расчёты.

                          Поэтому, в данной статье на примере системы управления из публикации [2] мы рассмотрим упрощённую модель автопилота с использованием переменных состояния и функций tf, ss библиотеки Control.

                          Физические основы работы автопилота и системы уравнений полёта


                          Уравнения, управляющие движением летательного аппарата, представляют собой очень сложный набор из шести нелинейных связанных дифференциальных уравнений. Однако, при определенных предположениях, они могут быть разделены и линеаризованы в уравнения продольных и боковых перемещений. Полёт самолета определяется продольной динамикой.

                          Рассмотрим работу автопилота, который контролирует высоту воздушного судна. Основные координатные оси и силы, действующие на самолет, показаны на рисунке, приведенном ниже.


                          Читать дальше →
                        • Использование библиотеки Python Control Systems Library для проектирования систем автоматического управления

                          • Tutorial

                          Здравствуйте!


                          С появлением библиотеки Python Control Systems Library [1], решение основных задач проектирования систем автоматического управления (САУ) средствами Python значительно упростилось и теперь практически идентично решению таких задач в математическом пакете Matlab.

                          Однако, проектирование систем управления с применение указанной библиотеки имеют ряд существенных особенностей, которых нет в документации [1], поэтому особенностям использования Python Control Systems Librar и посвящена данная публикация.

                          Начнём с инсталляции библиотеки. В документации говориться о загрузке двух модулей slycot и control, на самом деле для нормальной работы нужна ещё библиотека numpy+mkl, остальные устанавливаются автоматически при загрузке control.

                          Указанные модули можно скачать с сайта [2]. В документации так же сказано, что для интерфейса по умолчанию нужно просто импортировать контрольный пакет следующим образом: import control.

                          Однако, при таком импортировании библиотека не работает ни одном из примеров. Для импортирования библиотеки необходимо применить from control import* как и для импортировании окружения matlab: from control. matlab import *[1].

                          Рассматривать специализированную библиотеку Python Control Systems Library можно только применительно к задачам проектирования систем автоматического управления, поэтому мы так и поступим.
                          Читать дальше →
                        • Контроллер Arduino с датчиком температуры и Python интерфейсом для динамической идентификации объектов управления

                            Введение


                            Возможность получения действительной информации о состоянии реальных объектов в реальном масштабе времени позволяет обоснованно приступать к следующему этапу анализа и синтеза систем – математическому моделированию динамических характеристик объектов управления.

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

                            В основу данного проекта положены аппаратные средства для прототипирования на базе платформы Arduino со множеством совместимых с ними модулей и свободных программных средств Python, образующих интегрированную среду разработки Arduino Software.
                            Читать дальше →
                          • Математическая модель тепловыделяющего элемента ядерного реактора



                              Введение


                              Тепловыделяющий элемент (ТВЭЛ) — главный конструктивный элемент активной зоны гетерогенного ядерного реактора, содержащий ядерное топливо [1].

                              В ТВЭЛах происходит деление тяжелых ядер урана 235 или плутония 239, сопровождающееся выделением тепловой энергии, которая затем передаётся теплоносителю.

                              ТВЭЛ должен обеспечить отвод тепла от топлива к теплоносителю и препятствовать распространению радиоактивных продуктов из топлива в теплоноситель.

                              Поэтому расчёт температурных полей в ТВЭЛах является важной задачей проектирования ядерного реактора.
                              Читать дальше →
                            • Подвесные топливные баки для самолётов



                                Введение


                                Часто, для обеспечения большой дальности полета, к самолету снаружи подвешивают дополнительные баки. Подвесные баки бывают сбрасываемые и не сбрасываемые.

                                Сбрасываемые подвесные баки после расходования из них топлива сбрасываются так же, как и авиационные бомбы с замков бомбодержателей, на которые они подвешиваются.

                                Питание из подвесных баков осуществляется включением трубопроводов от этих баков в общую систему питания двигателя топливом через запорный или многоходовой кран.

                                Интересным фактом является то, что во вьетнамских джунглях после войны стали находить много сброшенных американскими самолётами топливных баков.

                                Крестьяне распиливают баки вдоль и получаются две лодки. Такая лодка не ржавеет, мало весит, а благодаря аэродинамической форме на ней очень легко грести.


                                Читать дальше →
                              • Беспоисковый метод расчета настроек регуляторов средствами Python



                                  Введение


                                  Беспоисковый метод — простой, надёжный и универсальный метод расчёта настроек субоптимальных регуляторов, включая и такие алгоритмы как ПД, ПДД и ПИДД [1].

                                  Однако, приведенная в [1] программная реализация данного метода имеет ряд недостатков, что затрудняет его применение в микропроцессорных регулирующих приборах.

                                  Среди недостатков можно выделить такие:

                                  Неоднозначность в определении диапазона рабочих частот, которая, даже при наличии сглаживающего звена в структуре передаточной функции регулятора, может привести к отрицательным значениям настроек;

                                  В работе [1] для реализации беспоискового метода расчёта регуляторов рассматривается передаточная функция объекта вида:



                                  что при второй степени оператора p в знаменателе ограничивает точность динамической идентификации объекта управления [2].

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


                                  1. Средствами высокоуровневого языка программирования Python определять по КЧХ субоптимального регулятора максимальное и минимальное значение частот так, чтобы, при максимуме частоты, мнимая и действительная часть передаточной функции были положительными;

                                  2. Средствами библиотеки scipy. optimize высокоуровневого языка программирования Python найти по передаточной функции субоптимального регулятора настройки регулятора, а средствами библиотеки scipy. integrate получить переходные характеристики замкнутой системы регулирования;

                                  3. Для более точной идентификации объекта, использовать в расчётах передаточную функцию, имеющую третью степень оператора p в знаменателе;



                                  4. Сравнить переходные характеристики замкнутой системы, полученные поисковым [3] и беспоисковым методами;

                                  5. Построить с использованием беспоискового метода переходную характеристику для ПИДД алгоритма, сравнить её по интегральному квадратичному критерию качества регулирования с ПИД алгоритмом.
                                  Читать дальше →
                                • Микроспутники для дистанционного зондирования Земли



                                    В настоящее время большой интерес проявляется к созданию и использованию малых космических аппаратов — адекватной замене больших космических аппаратов.

                                    Это объясняется многими преимуществами микроспутников (МС) [1]:

                                    • Сравнительно низкая цена, а также небольшое время, необходимое для разработки и изготовления микроспутника.
                                    • Низкая цена запуска космического аппарата. Ракета-носитель, даже легкого класса, способна вывести на орбиту несколько микроспутников.
                                    • Для запуска применяются конверсионные баллистические ракеты, которые, в соответствии с договорами, уничтожаются путем запуска в космос с полезной нагрузкой.
                                    • Легкие космические аппараты могут выводиться в качестве попутного груза на ракетах-носителях (РН) или в транспортных кораблях, доставляющих грузы на долговременные орбитальные станции.
                                    • Снижение риска больших финансовых потерь при гибели микроспутника в случае аварии РН на старте или при неудачном выведении его на рабочую орбиту.
                                    Читать дальше →
                                  • Оптимизация настроек ПИД регулятора по интегральному критерию качества регулирования

                                    • Tutorial


                                    Постановка задачи оценки качества регулирования


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

                                    В качестве идеализированного процесса обычно принимается ступенчатый (скачкообразный) переходный процесс или экспоненциальный процесс с заданными параметрами экспоненты.

                                    До настоящего времени остаётся не выясненным, какой из интегральных критериев линейный или квадратичный выбрать для оптимизации настроек регуляторов.

                                    В данной публикации определение оптимальных настроек регулятора осуществляется на основе критерия оптимальности в виде суммы линейного и квадратичного интегральных показателей качества регулирования.
                                    Читать дальше →
                                  • Бронебойные снаряды с прямоточным воздушно- реактивным двигателем



                                      Введение


                                      В настоящее время в качестве бронебойных боеприпасов широкое применение получили бронебойные оперенные подкалиберные снаряды (БОПС), обладающие высокой проникающей способностью.

                                      Это достигается за счет высокой начальной скорости боеприпаса (1650 – 1840 м/с) и малого поперечного сечения (d = 20-30 мм). Для компенсации силы сопротивления воздуха применяют придание боеприпасу реактивной тяги.

                                      Прямоточный воздушно-реактивный двигатель (ПВРД), прост по конструкции, имеет высокий коэффициент полезного действия при больших числах Маха компактен, поскольку не требует наличие окислителя в составе топлива, так как использует кислород окружающей среды [1].
                                      Читать дальше →
                                    • Оптимизация многоступенчатых компрессоров по энергозатратам на адиабатическое сжатие газа



                                        Введение


                                        В 1934 году швейцарская фирма «БроунБовери» (Brown-Boveri) на основе теоретических работ Стодолы впервые создала многоступенчатый осевой компрессор с КПД 84 %. Вскоре, осевые компрессоры стали успешно использоваться этой фирмой для газотурбинных установок.

                                        Многоступенчатые осевые компрессоры [1]


                                        Принципиальная схема осевого многоступенчатого компрессора приведена на рисунке:



                                        Осевой многоступенчатый компрессор состоит из ряда последовательно расположенных направляющих лопаток 6, закрепленных в корпусе 7, и рабочих лопаток 5, расположенных на барабанном роторе 11. По мере сжатия, объем воздуха уменьшается и, следовательно, уменьшаются высоты лопаток.

                                        Вращаясь, рабочие лопатки ротора сообщают газу кинетическую энергию. При движении по расширяющимся каналам рабочих лопаток относительная скорость воздуха падает, происходит уменьшение кинетической энергии потока с соответствующим повышением давления в нем.

                                        Изменение относительной скорости потока в канале рабочих лопаток связано с расходом энергии, подводимой к компрессору.

                                        В расширяющихся каналах направляющих лопаток наблюдается дальнейшее повышение давления воздуха и уменьшение скорости его движения. В проточную часть компрессора воздух поступает через входной патрубок 1 и направляющий аппарат 4, откуда, пройдя каналы рабочих лопаток 5 и направляющих лопаток 6, попадает в спрямляющий аппарат 8.

                                        Направляющий аппарат обеспечивает необходимое направление воздушному потоку перед входом в первую ступень, а спрямляющий аппарат обеспечивает осевой выход в диффузор 9 и далее в выходной патрубок 10.

                                        Число ступеней сжатия в такой конструкции определяется количеством рабочих лопаток 5, расположенных на барабанном роторе 11.
                                        Читать дальше →