Численный метод решения краевой задачи для колеблющейся мембраны
Рассмотрение простого метода численного решения волнового уравнения в двумерном случае. Описание программ в среде Free Pascal, моделирующих волновые явления и колебания упругой мембраны. Решение дифференциальных уравнений компьютерным моделированием.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | статья |
Язык | русский |
Дата добавления | 07.03.2019 |
Размер файла | 5,5 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
13
Численный метод решения краевой задачи для колеблющейся мембраны
Майер Роберт Валерьевич
доктор педагогических наук
профессор, кафедра физики и дидактики физики, Глазовский государственный педагогический институт
Аннотация
В статье рассмотрен простой метод численного решения двумерного волнового уравнения, который позволяет промоделировать следующие явления: 1) распространение и отражение волн; 2) изменение длины волны при ее переходе из одной среды в другую; 3) интерференция волн от нескольких когерентных источников; 4) образование стоячей волны; 5) огибание волной препятствий, дифракция волн; 6) вынужденные колебания упругой пластины; 7) свободные колебания упругой пластины произвольной формы; 8) автоколебания упругой пластины. Используются метод математического моделирования, метод численного решения дифференциальных уравнений в частных производных, а также метод цветного отображения двумерных полей на экране. Новизна работы состоит в том, что в ней представлены две простые компьютерные программы, написанные в среде Free Pascal, позволяющие промоделировать достаточно большую совокупность явлений, связанных с распространение волн в двумерных средах и колебаниями упругой пластины. Предлагаемые программы могут быть использованы при изучении численных методов и основ компьютерного моделирования.
Ключевые слова: компьютерное моделирование, численные методы, волновое уравнение, программирование, колебания мембраны, интерференция, дифракция, вынужденные колебания, автоколебания, дифференциальные уравнения
The article considers the simple method of the numerical solution of the two-dimensional wave equation which allows to simulate the following phenomena: 1) propagation and reflection of waves; 2) change of wavelength upon its transition from one environment to another; 3) an interference of waves from several coherent sources; 4) formation of a standing wave; 5) rounding by a wave of obstacles, diffraction of waves; 6) the forced oscillations of an elastic plate; 7) free oscillations of an elastic plate of any form; 8) self-oscillations of an elastic plate. The method of mathematical modeling, a method of the numerical solution of the differential equations in private derivatives, and also a method of color mapping of two-dimensional fields on the screen are used. Novelty of work: the article presents two simple computer programs written in Free Pascal, allowing to simulate rather big set of the phenomena connected about distribution of waves in two-dimensional environments and oscillations of an elastic plate. The given programs can be used in studying numerical methods and bases of computer modeling.
Keywords:
forced oscillations, diffraction, interference, membrane oscillating, programming, wave equation, numerical methods, computer modeling, autooscillations, differential equations
1. Введение
Изучение дисциплин “Численные методы” и “Компьютерное моделирование” предусматривает обсуждение способов численного решения дифференциальных уравнений в частных производных, таких как уравнение теплопроводности, волновое уравнение, уравнение Пуассона [1-6]. При этом важно не только проанализировать теоретические основы используемых методов, но и предоставить студентам возможность набрать компьютерную программу и выполнить серию вычислительных экспериментов, с целью изучения поведения системы при различных параметрах, начальных условиях и внешних воздействиях [3-5]. В настоящей работе рассмотрен метод компьютерного моделирования волновых явлений в двумерной среде, предложены простые программы и проанализированы получающиеся результаты.
2. Математическая и компьютерная модели
Моделирование колебательных и волновых процессов в двумерных средах сводятся к решению краевой задачи для колеблющейся мембраны, которая формулируется следующим образом. Имеется мембрана, которая в положении покоя занимает область O, ограниченную контуром G. На различные точки мембраны действуют вынуждающие силы, описывающиеся функцией F=F(x,y,t). Необходимо рассчитать движение мембраны, то есть найти такую функцию координат и времени, которая удовлетворяет волновому уравнению и заданным краевым условиям [1, 2, 6]:
К краевым условиям относятся начальные условия (смещение и скорость различных точек мембраны в начальный момент), а также граничные условия, определяющие смещение и скорость точек края мембраны с течением времени. Дискретизируем задачу, для этого создадим сетку с некоторым шагом по координате и времени, перейдем функции дискретного аргумента. Запишем двумерное волновое уравнение в конечных разностях:
Как видно из формул, чтобы найти смещения элементов пластины на временном слое t+1, необходимо знать смещение элементов на слоях t и t-1. Для решения задачи создается цикл, в котором перебираются все узлы пространственной сетки и рассчитываются их смещения из положений равновесия при t=1, 2, 3… При этом следует учесть, что некоторые точки двумерной среды закреплены и поэтому не колеблются.
В случаях, когда форма пластины, расположение источников колебаний и закрепленных точек симметричны относительно некоторой оси, получающееся решение волнового уравнения также обладает симметрией относительно той же оси. Поэтому достаточно промоделировать колебания не всей пластины, а ее половины или четверти, правильно задав граничные условия. Если края пластины свободны, то смещениям граничных элементов присваиваются смещения соседних элементов, удаленных от края пластины на величину шага по координате. Для этого используются операторы xi(i,1):=xi(i,2); xi(i,M):=xi(i,M-1); xi(1,j):=xi(2,j); xi(N,j):=xi(N-1,j);. Если края пластины или какие-то другие ее точки закреплены, то смещения соответствующих элементов приравниваются к нулю. Для моделирования распространения волны в двумерной среде используется программа 1.
3. Результаты моделирования волновых явлений
Рассмотренная модель позволяет изучить образование и распространение волн в случаях, когда источник непрерывно колеблется или совершает несколько колебаний и останавливается. Во втором случае образуется несколько волн (цуг), расходящихся во все стороны от источника. Перечислим явления, которые можно промоделировать с помощью программы: 1) распространение и отражение волн от края пластины, выпуклой или вогнутой поверхности (рис. 1.1 и рис. 4); 2) изменение длины волны при переходе волны из одной среды в другую (рис. 2); 3) интерференция от двух точечных источников (рис. 1.2); 4) стоячая волна, возникающая в результате интерференции падающей и отраженной волн; 5) дифракция волн, огибание препятствий (рис. 1.3 и рис. 3).
Допустим, точечный источник двумерной волны расположен вблизи границы раздела двух сред, в которых волна распространяется с различными скоростями v_1 и v_2. Программа 1 моделирует прохождение волны из одной среды в другую. Чтобы получить границу раздела двух сред, в узлах сетки, для которых i < N/2, задают скорость волны v_1, а во всех остальных узлах -- v_2. Из рис. 2 видно, что при переходе волны в среду с большей скоростью распространения длина волны увеличивается.
На рис. 2 представлены результаты моделирования дифракции линейной и круговой волн на препятствии. Источник И моделируется одним или несколькими элементами, колеблющимися по одному и тому же закону, а препятствие П -- совокупностью неподвижных элементов. Так как длина волны сравнима с размером препятствия П, то волны их огибают и заходят в область геометрической тени (рис. 3). Аналогичным образом моделируется дифракция на отверстии.
После незначительных изменений программа 1 позволяет промоделировать отражение двумерной волны от вогнутого цилиндрического зеркала. Вблизи центра пластины создается источник гармонических волн (четыре соседних элемента совершают несколько гармонических колебаний). Вогнутое зеркало моделируется как препятствие: ее точки не должны совершать колебания. Для этого в процедуру Pr, отвечающую за задание препятствий, необходимо добавить условный оператор: If (sqr(50-i)+sqr(50-j)>2000)and(i<50) then xi[i,j]:=0;. Результат моделирования представлен на рис. 4. Видно, как образующаяся круговая волна доходит до вогнутого зеркала и, отражаясь от нее, превращается в волну с линейным фронтом.
4. Расчет колебаний упругой пластины
Рассмотренный выше метод численного решения волнового уравнения позволяет промоделировать целый ряд явлений, связанных с колебаниями упругой мембраны (пластины). Они обычно изучаются на занятиях курса “Математические методы физики”, но при этом студенты знакомятся с аналитическим способом решения соответствующих задач. Предложенная компьютерная программа после незначительных изменений (программа 2) позволяет рассчитать: 1) вынужденные колебания упругой пластины; 2) свободные колебания упругой пластины произвольной формы; 3) автоколебания упругой пластины, возникающие на одной из ее собственных частот. В результате многократных отражений и интерференции волн возникает устойчивое перераспределение энергии колебаний.
Наиболее просто промоделировать колебания упругой пластины (мембраны) квадратной формы (рис. 5). Допустим, что источник гармонических колебаний (то есть элемент, на который действует вынуждающая сила) находится в центре, края мембраны закреплены или свободны. Частота колебаний источника должна быть такой, чтобы на длине стороны пластины укладывалось от одной до четырех длин волн. Через некоторое время после начала колебаний источника, когда излучаемая волна многократно отразится от края пластины, на экране монитора наблюдаются картины, подобные приведенным на рис. 6 (первый ряд). На каждом из рисунков изображена "моментальная фотография" пластины; при этом ее элементы, смещенные на примерно равные величины, окрашены в одинаковые цвета. Видно, что пластина совершает вынужденные колебания, причем смещения ее точек примерно симметричны относительно вертикальной, горизонтальной и диагональных осей симметрии.
Чтобы повысить быстродействие программы, эту задачу следует решить для четверти пластины (рис. 5), задав граничные условия соответствующим образом и внеся изменения в процедуру Draw, чтобы программа рисовала на экране все четверти пластины в правильном расположении. Получающиеся результаты (рис. 6, второй и третий ряды) отличаются строгой симметрией. Рис. 7, 8 и 9 получены тем же способом.
На рис. 7 представлены результаты расчетов вынужденных колебаний квадратной пластины в случае, когда на нее воздействуют четыре источника, расположенные в середине ее четвертей и колеблющиеся одинаковым образом.
Чтобы промоделировать автоколебания пластины на одной из собственных частот, необходимо организовать положительную обратную связь, при которой со стороны источника на конкретный элемент пластины будет оказываться воздействие, “раскачивающее” пластину. Допустим, два источника помещены в середины верхней и нижней сторон пластины; когда соответствующий элемент пластины удаляется от нас, проходя положение равновесия, на него действует сила, увеличивающая скорость. Результаты моделирования представлены на рис. 8. На рис. 9 показаны автоколебания, возникающие в случае, когда на пластину воздействуют четыре источника, расположенные в середине ее четвертей и колеблющиеся одинаковым образом.
5. Заключение
В настоящей работе рассмотрен простой метод численного решения волнового уравнения в двумерном случае, представлены две программы в среде Free Pascal, моделирующие волновые явления и колебания упругой мембраны. Показано, что предлагаемый метод позволяет промоделировать следующие явления: 1) распространение и отражение волн; 2) изменение длины волны при ее переходе из одной среды в другую; 3) интерференция волн от нескольких источников; 4) образование стоячей волны, возникающей в результате интерференции падающей и отраженной волн; 5) огибание волной препятствий, дифракция волн; 6) вынужденные колебания упругой пластины; 7) свободные колебания упругой пластины произвольной формы; 8) автоколебания упругой пластины, возникающие на одной из ее собственных частот. Использование этих программ на занятиях по физике и компьютерному моделированию позволит на более высоком уровне объяснить физическую сущность рассматриваемых явлений, продемонстрировать возможности компьютерных моделей, основанных на численном решении дифференциальных уравнений.
колебание мембрана модель дифференциальное уравнение
Библиография
1.Гулд Х., Тобочник Я. Компьютерное моделирование в физике: В 2-х частях. Часть 1. - М.: Мир, 1990. - 350 с.
2.Данилов О.Е. Компьютерное моделирование: Волновое уравнение. Численные методы решения физических задач. Borland Pascal. Учебно-методическое пособие. - Глазов: ГГПИ, 2009. - 24 с.
3.Майер Р.В. Задачи, алгоритмы, программы: Электронное учебное пособие. - Глазов: Глазовск. гос. пед. ин-т, 2012. URL: http://maier-rv.glazov.net
4.Майер Р.В. Использование вычислительных экспериментов при изучении волновых процессов в линейных и нелинейных средах // NB: Кибернетика и программирование. -- 2014. - № 4. - С.57-65. DOI: 10.7256/2306-4196.2014.4.12683. URL: http://e-notabene.ru/kp/article_12683.html
5.Майер Р.В. Компьютерное моделирование физических явлений. - Глазов, ГГПИ: 2009. - 112 с.
6.Тихонов А.Н., Самарский А.А. Уравнения математической физики. - М.: Наука, 1966. - 724 с
References (transliterated)
1.Guld Kh., Tobochnik Ya. Komp'yuternoe modelirovanie v fizike: V 2-kh chastyakh. Chast' 1. - M.: Mir, 1990. - 350 s.
2.Danilov O.E. Komp'yuternoe modelirovanie: Volnovoe uravnenie. Chislennye metody resheniya fizicheskikh zadach. Borland Pascal. Uchebno-metodicheskoe posobie. - Glazov: GGPI, 2009. - 24 s.
3.Maier R.V. Zadachi, algoritmy, programmy: Elektronnoe uchebnoe posobie. - Glazov: Glazovsk. gos. ped. in-t, 2012. URL: http://maier-rv.glazov.net
4.Maier R.V. Ispol'zovanie vychislitel'nykh eksperimentov pri izuchenii volnovykh protsessov v lineinykh i nelineinykh sredakh // NB: Kibernetika i programmirovanie. -- 2014. - № 4. - S.57-65. DOI: 10.7256/2306-4196.2014.4.12683. URL: http://e-notabene.ru/kp/article_12683.html
5.Maier R.V. Komp'yuternoe modelirovanie fizicheskikh yavlenii. - Glazov, GGPI: 2009. - 112 s.
6.Tikhonov A.N., Samarskii A.A. Uravneniya matematicheskoi fiziki. - M.: Nauka, 1966. - 724 s
Размещено на Allbest.ru
...Подобные документы
Численный метод для решения однородного дифференциального уравнения первого порядка методом Эйлера. Решение систем дифференциальных уравнений методом Рунге–Кутта. Решение краевой задачи. Уравнения параболического типа, а также Лапласа и Пуассона.
курсовая работа [163,5 K], добавлен 27.05.2013Математическое описание численных методов решения уравнения, построение графика функции. Cтруктурная схема алгоритма с использованием метода дихотомии. Использование численных методов решения дифференциальных уравнений, составление листинга программы.
курсовая работа [984,2 K], добавлен 19.12.2009Метод половинного деления как один из методов решения нелинейных уравнений, его основа на последовательном сужении интервала, содержащего единственный корень уравнения. Алгоритм решения задачи. Описание программы, структура входных и выходных данных.
лабораторная работа [454,1 K], добавлен 09.11.2012Обзор методов решения в Excel. Рекурентные формулы метода Эйлера. Метод Рунге-Кутта четвертого порядка для решения уравнения первого порядка. Метод Эйлера с шагом h/2. Решение дифференциальных уравнений с помощью Mathcad. Модифицированный метод Эйлера.
курсовая работа [580,1 K], добавлен 18.01.2011Программа вычисления интеграла методом прямоугольников. Решение задачи Коши для дифференциальных уравнений. Модифицированный метод Эйлера. Методы решения краевой задачи для обыкновенного дифференциального уравнения. Задачи линейного программирования.
методичка [85,2 K], добавлен 18.12.2014Решение системы дифференциальных уравнений, заданной в нормальной форме Коши. Определение аналитических зависимостей изменения переменных состояния системы с использованием преобразования Лапласа. Численный метод решения системы c помощью Mathcad.
практическая работа [657,1 K], добавлен 05.12.2009Численные методы решения задачи Коши для обыкновенных дифференциальных уравнений: Эйлера, Рунге-Кутта, Адамса и Рунге. Техники приближенного решения данных уравнений: метод конечных разностей, разностной прогонки, коллокаций; анализ результатов.
курсовая работа [532,9 K], добавлен 14.01.2014Основные этапы математического моделирования. Метод Эйлера как наиболее простой численный метод решения обыкновенных дифференциальных уравнений. Написание компьютерной программы, которая позволит изучать графики системы дифференциальных уравнений.
курсовая работа [1,9 M], добавлен 05.01.2013Решение дифференциальных уравнений первого порядка. Варианты методов Рунге-Кутта различных порядков. Основные методы численного решения задачи Коши. Повышение точности вычислений и итерационный метод уточнения. Дискретная числовая последовательность.
лабораторная работа [33,3 K], добавлен 14.05.2012Метод численного интегрирования. Использование метода половинного деления для решения нелинейного уравнения. Определение отрезка неопределенности для метода половинного деления. Получение формулы Симпсона. Уменьшение шага интегрирования и погрешности.
курсовая работа [3,0 M], добавлен 21.05.2013Изучение требований и реализации пользовательского интерфейса в среде Turbo Pascal. Разработка текстового, графического режимов работы дисплеев. Рассмотрение численных методов решения трансцендентных уравнений, их алгоритмизации и программирования.
шпаргалка [776,8 K], добавлен 07.05.2010Математическое описание алгоритмов схемы и операций для уравнения Лапласа. Изучение разностной схемы "крест" для нахождения численного решения эллиптического уравнения, задача Дирихле. Использование указателей в среде Matlab для решений методом Гаусса.
дипломная работа [859,3 K], добавлен 23.10.2014Анализ предметной области объектно-ориентированного программирования. Языки Delphi, Object Pascal - объектно-ориентированная среда программирования. Основные алгоритмические решения. Решение дифференциального уравнения методом Рунге-Кутта в среде Excel.
курсовая работа [1,5 M], добавлен 02.04.2011Численные методы решения задач. Решение алгебраических и трансцендентных уравнений. Уточнение корня по методу половинного деления. Решение систем линейных уравнений методом итераций. Методы решения дифференциальных уравнений. Решение транспортной задачи.
курсовая работа [149,7 K], добавлен 16.11.2008Суть метода Рунге-Кутта и его свойства. Решение дифференциальных уравнений первого порядка. Вычислительный блок Given/Odesolve. Встроенные функции rkfixed, Rkadapt, Bulstoer. Решения линейных алгебраических уравнений в среде MathCad и Microsoft Excel.
курсовая работа [1,1 M], добавлен 02.06.2014Применение итерационных методов численного решения системы линейных алгебраических уравнений при вычислении на ЭВМ. Математические и алгоритмические основы решения задачи, метод Гаусса. Функциональные модели и блок-схемы, программная реализация решения.
курсовая работа [527,5 K], добавлен 25.01.2010Численные методы решения нелинейных уравнений, систем линейных и нелинейных алгебраических уравнений, дифференциальных уравнений, определенных интегралов. Методы аппроксимации дискретных функций и методы решения задач линейного программирования.
методичка [185,7 K], добавлен 18.12.2014Описание алгоритма создания программы для решения алгебраических или трансцендентных уравнений с помощью численного метода Бернулли. Нахождение значений корней алгебраического уравнения с заданными параметрами точности. Листинг программы на языке java.
контрольная работа [206,0 K], добавлен 19.06.2015Математический алгоритм вычисления корней нелинейного уравнения и его решение методом касательных. Особенности программной реализации решения таких уравнений. Процедура подготовки и решения задачи на ЭВМ, характеристика алгоритма и структуры программы.
курсовая работа [96,6 K], добавлен 02.06.2012Разработка программы на языке Turbo Pascal 7.0 для преобразования кинетической схемы протекания химических реакций при изотермических условиях в систему дифференциальных уравнений. Ее решение в численном виде методом Рунге-Кутта четвертого порядка.
курсовая работа [929,7 K], добавлен 06.01.2013