- •Глава 6. Уравнения в частных производных.
- •6.1. Решающий блок Given…Pdesolve
- •Решение волнового уравнения блоком Given…Pdesolve.
- •6.1.2. Решение уравнения теплопроводности блоком Given…Pdesolve.
- •6.2. Решение уравнений в частных производных методом конечных разностей (решающая функция multigrid).
- •6.2.1. Решение уравнения Лапласа функцией mulnigrid.
- •6.2.2. Решение уравнения Пуассона функцией relax.
- •6.3. Отображение функций двух переменных в виде 3d –графиков.
- •6.3.1. Построение 3d –графика функции двух переменных в декартовых координатах(Surface Plot).
- •6.3.2. Построение и редактирование контурных (Countor Plot) графиков функции 2-х переменных
- •Разработка цветовой шкалы.
Глава 6. Уравнения в частных производных.
Математическое описание многих физических процессов приводит к линейным и нелинейным дифференциальным уравнениям в частных производных второго порядка. Среди этого типа уравнений большое значение для технических приложений имеют: уравнение колебаний, называемое также волновым уравнением, – гиперболического типа, уравнение теплопроводности, описывающее распространение тепла, электрического тока, диффузию – уравнение параболического типа, стационарные уравнения Лапласа и Пуассона – уравнения эллиптического типа [ ].
В Mathcad для решения уравнений в частных производных параболического и гиперболического типа предназначен решающий блок Given…Pdesolve аналогичный блоку Given…Odesolve, предназначенному для решения системы обыкновенных дифференциальных уравнений (ОДУ). Для решения уравнений эллиптического типа, например уравнения Пуассона, используются функции «relax» или «multigrid».
В специальных случаях, например, для создания анимации решения, используется функция «numol», но здесь она не рассматривается.
6.1. Решающий блок Given…Pdesolve
Решающий блок Given…Pdesolve предназначен для решения как одиночных уравнений, так и систем линейных и нелинейных уравнений в частных производных с граничными условиями типа равенств. Входящая в блок функция Pdesolve (u, x, xrange, t, trange, [xpts], [tpts]) вычисляет либо скалярную функцию u(x, t), либо вектор с элементами в виде функций, которые являются решением в общем случае нелинейного дифференциального уравнения в частных производных. Значения решений, полученных этой функцией Mathcad’a являются результатом интерполяции матрицы решений, вычисленных методом конечных разностей.
Обращение к функции имеет вид: Pdesolve (u, x, xrange, t, trange, [xpts], [tpts]), а её аргументами являются:
- скалярная функция - u или вектор функций без перечисления аргументов, включенных именем отдельно;
- пространственная координата x;
- вектор (столбец с 2 элементами для уравнения 2-го порядка) xrange, содержащий конкретные значения для x на левой и правой границах;
- имя переменной времени t;
- вектор (столбец с 2 элементами) trange, содержащий граничные значения для t;
- число точек пространственной дискретизации xpts (необязательный параметр), число целого типа;
- число точек временной дискретизации tpts (необязательный параметр), число целого типа.
Примечания:
1. В теле блока неизвестные функции должны быть определены явно в терминах их переменных, например, искомую функцию необходимо записывать как u (x, t), а не просто u. В пределах решающего блока нижние индексы используются только для обозначения частных производных, например, uxx (x, t) - вторая частная производная функции u(x,t) по аргументу x. Никакие другие нижние индексы в имени функций или индексы массивов (множеств) не могут использоваться ни в названии функции, ни её производных.
2. Уравнения и алгебраические ограничения должны быть записаны с использованием логического знака равенства.
3. Запись вторых частных производных в левой части равенства не допускается - уравнения должны быть преобразованы в систему уравнений относительно первых производных.
4. В теле решающего блока допускаются наряду с уравнениями также алгебраические ограничения вида: u (x, t) + v (x, t) + w (x, t) = 0. Это добавляет к системе неизвестных новую неизвестную функцию w(x,t), которая в обращении к функции Pdesolve должна быть определена как одна из функций результата.
5. Ограничения типа неравенств не допускаются.
6. Для решения уравнения в частных производных должны быть заданы 2n – граничных условий, где n - порядок уравнения, для каждой неизвестной функции и n- начальных условий.
Граничные условия могут быть типа Дирихле: u (x0, t) = f (t) и u (x1, t) = f1 (t) или типа граничных условий Неймана: ux (x0, t) =g (t) и ux (x1, t) =g1(t), где x0 и x1 – начальная и конечная точки пространственного диапазона интегрирования (по аргументу x). Конечные точки, используемые в граничных условиях должны соответствовать конечным точкам, определенным в операторе Рdesolve.
Начальные условия в случае уравнения первого порядка являются скалярной функцией u(x,t0), а в случае системы уравнений - вектором, элементы которого представляют собой неизвестные функции, заданные при t0, х.
7. В Mathcad выполняется проверка на соответствие типа и числа граничных условий и выдаётся сообщение об ошибке, если эти условия не выполнены.
Таким образом, для решения уравнения или системы уравнений решающим блоком Given…Pdesolve необходимо записать на рабочем листе:
- оператор Given;
- заданное уравнение или систему уравнений;
- систему ограничений, если они имеются;
- начальные и граничные условия;
- оператор присваивания искомой функции или вектору искомых функций функции Pdesolve с параметрами;
- отобразить результат решения на экране дисплея.