Математический редактор MathCAD



  

13.3.1. Параболические и гиперболические уравнения

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

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

  • Pdesolve(u, x, xrange, t, trange, [xpts] , [tpts])) — возвращает скалярную (для единственного исходного уравнения) или векторную (для системы уравнений) функцию двух аргументов (x,t), являющуюся решением дифференциального уравнения (или системы уравнений) в частных производных. Результирующая функция получается интерполяцией сеточной функции, вычисляемой согласно разностной схеме.
    • u — явно заданный вектор имен функций (без указания имен аргументов), подлежащих вычислению. Эти функции, а также граничные условия (в форме Дирихле или Неймана) должны быть определены пользователем перед применением функции pdesolve в вычислительном блоке после ключевого слова Given. Если решается не система уравнений в частных производных, а единственное уравнение, то, соответственно, вектор и должен содержать только одно имя функции и вырождается в скаляр.
    • х —пространственная координата (имя аргумента неизвестной функции).
    • xrange — пространственный интервал, т. е. вектор значений аргумента х для граничных условий. Этот вектор должен состоять из двух действительных чисел (представляющих левую и правую границу расчетного интервала).
    • t — время (имя аргумента неизвестной функции).
    • trange — расчетная временная область: вектор значений аргумента t, который должен состоять из двух действительных чисел (представляющих левую и правую границу расчетного интервала по времени).
    • xpts — количество пространственных точек дискретизации (может не указываться явно, в таком случае будет подобрано программой автоматически).
    • tpts — количество временных слоев, т. е. интервалов дискретизации по времени (также может не указываться пользователем явно).

Помимо этой функции для решения параболических и гиперболических уравнений, начиная с новой версии Mathcad 11, можно использовать еще одну встроенную функцию numol (). Функция numol () имеет еще большее число аргументов и позволяет управлять дополнительными параметрами метода сеток. Однако пользоваться ею намного сложнее, чем функцией Pdesolve (), и поэтому в нашей книге мы не будем на ней особо останавливаться.

В качестве примера использования этой новой функции Mathcad 11 (листинг 13.4) используем то же самое одномерное уравнение теплопроводности (5) с граничными и начальными условиями (6) и (7).

Листинг 13.4. Решение одномерного уравнения теплопроводности

Для корректного использования функции Pdesolve предварительно, после ключевого слова Given, следует записать само уравнение и граничные условия при помощи логических операторов (для их ввода в Mathcad существует специальная панель). Обратите внимание, что уравнение должно содержать имя неизвестной функции u(x,t) вместе с именами аргументов (а не так, как она записывается в пределах встроенной функции Pdesolve). Для идентификации частных производных в пределах вычислительного блока следует использовать нижние индексы, например, uxx(,t) для обозначения второй производной функции и по пространственной координате х..

Как видно из рис. 13.14, на котором изображены результаты расчетов по листингу 13.4, встроенная функция с успехом справляется с уравнением диффузии, отыскивая уже хорошо знакомое нам решение. Заметим, что использование встроенной функции Pdesolve связано с довольно громоздкими вычислениями, которые могут отнимать существенное время.

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

Приведем еще один пример применения функции Pdesolve для решения уравнений в частных производных. Рассмотрим одномерное волновое уравнение, которое описывает, например, свободные колебания струны музыкального инструмента:

Рис. 13.14. Решение уравнения диффузии тепла при помощи встроенной функции Pdesolve (листинг 13.4)

Здесь неизвестная функция u(x,t) описывает динамику смещения профиля струны относительно невозмущенного (прямолинейного) положения, а параметр с характеризует материал, из которого изготовлена струна.

Как Вы видите, уравнение (11) содержит производные второго порядка как по пространственной координате, так и по времени. Для того чтобы можно было использовать встроенную функцию pdesoive, необходимо переписать волновое уравнение в виде системы двух уравнений в частных производных, введя вторую неизвестную функцию v=ut. Программа для решения волнового уравнения приведена в листинге 13.5, а результат — на рис. 13.15.

Листинг 13.5. Решение волнового уравнения.

Рис. 13.15. Решение волнового уравнения (листинг 13.5)

  
Назад Начало Вперед