MATLAB.Exponenta
MATLAB и Simulink на русском
Технологии разработки и отладки
		сложных технических систем

Математика\Partial Differential Equations Toolbox

В.Е.Шмелев "Partial Differential Equations Toolbox. Инструментарий решения дифференциальных уравнений в частных производных":
2. Работа пользователя с GUI-приложением PDE Toolbox Matlab

  В оглавление книги \ К следующему разделу \ К предыдущему разделу

2.4. Режимы работы приложения PDETool

2.4.3. Режим ввода параметров (коэффициентов) PDE

Приложение PDETool переходит в режим ввода коэффициентов PDE по команде PDE Mode. В этом режиме возможен ввод распределения коэффициентов PDE в зонах расчётной области. Возможно также выделение и отмена выделения зон.

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

Двойной щелчок левой или правой кнопкой мыши по невыделенной зоне приводит к развёртыванию диалогового окна ввода коэффициентов PDE (см. список стандартных краевых задач 2.3). для этой зоны независимо от ранее сделанных выделений. Двойной щелчок левой или правой кнопкой мыши по выделенной зоне приводит к развёртыванию диалогового окна ввода коэффициентов PDE (см. 2.3) для всей совокупности выделенных зон.

Двойной щелчок левой кнопкой мыши по зоне с одновременным удержанием клавиши Shift приводит к инвертированию выделения данной зоны и раскрытию диалогового окна ввода коэффициентов PDE для полученной совокупности зон. Удержание клавиши Shift никак не влияет на действия, производимые в результате двойного щелчка правой кнопкой мыши по зоне.

Диалоговые окна ввода коэффициентов PDE, а также синтаксис выражений, вписываемых в строки ввода, показаны в подразделе 2.3 данного пособия.

Переменные описания распределения коэффициентов PDE в расчётной области могут быть экспортированы в базовую рабочую область MATLAB. Команда экспорта описана в 2.1.6. Там же показано диалоговое окно экспорта (рис. 2.10). По умолчанию имена этих переменных c, a, f, d:

c, a, f, d – конечноэлементное распределение коэффициентов c, a, f, d в уравнениях (2.1), (2.2), (2.3), (2.4). Если краевая задача связана с решением одного скалярного PDE, то эти переменные представляют собой строки символов с выражениями, которые были вписаны в строки ввода диалогового окна ввода коэффициентов PDE. Если при вводе какого-либо коэффициента заданы разные выражения для разных зон, то соответствующая переменная MATLABа представляет собой строку символов, состоящую из последовательности выражений для зон, разделённых восклицательным знаком, например,

a =
1+sqrt(x^2+y^2)!sin(x+y)!2*x
В данном примере в зоне №1 a=’1+sqrt(x^2+y^2)’, и зоне №2 a=’sin(x+y)’, в зоне №3 a=’2*x’.

Если краевая задача связана с решением системы двух скалярных PDE вида (2.6), (2.7), (2.8), (2.9), то эти переменные представляют собой матрицы символов:

f – матрица символов, первая строка которой представляет собой выражение для правой части первого PDE, вторая строка – выражение для правой части второго PDE. Ниже показан пример матрицы f для случая, когда в разных зонах заданы разные выражения:
f =
0.0!x+y!1.0
1.0!1.0!1.0

a – матрица символов, состоящая из четырёх строк: первая строка – выражение для a11, вторая – для a21, третья – для a12, четвёртая – для a22. Ниже показан пример матрицы a для случая, когда в разных зонах заданы разные выражения:
a =
1.0!1.0!1.0
2.0!2.0!2.0
3.0!sin(sqrt(x^2+y^2))!3.0
4.0!4.0!4.0
В этом примере в зоне №2 коэффициент a12 представлен выражением, описывающим зависимость этого коэффициента от координат x и y. Из этого примера видно, что в случае необходимости строки символов в конце дополняются пробелами.

Матрица d полностью аналогична матрице a.

Если матричный коэффициент [c] в уравнениях (2.6), (2.7), (2.8), (2.9) можно представить в виде произведения скалярной величины на единичную матрицу eye(2,2), то переменная c представляет собой строку символов с выражением, описывающим распределение этой скалярной величины в расчётной области. Если для разных зон заданы разные выражения, то переменная c представляет собой строку символов, состоящую из последовательности выражений для зон, разделённых восклицательным знаком, например,

c =
y+1.0!x+y!x+1.0

Если матрица [c] в уравнениях (2.6), (2.7), (2.8), (2.9) является диагональной, то переменная c представляет собой матрицу символов, состоящую из шести строк: 1-я строка – выражение для коэффициента с11, 2-я строка – нуль, 3-я строка – выражение для коэффициента с11, 4-я строка – выражение для коэффициента с22, 5-я строка – нуль, 6-я строка – выражение для коэффициента с22. Например,

c =
1.0
0
1.0
y+1.0
0
y+1.0
Если для разных зон заданы разные выражения, то каждая строка матрицы символов c представляет собой последовательность выражений для зон, разделённых восклицательным знаком, например,
c =
1.0!x+2.0!1.0
0!0!0
1.0!x+2.0!1.0
y+1.0!y+1.0!y+2.0
0!0!0
y+1.0!y+1.0!y+2.0

Если матрица [c] в уравнениях (2.6), (2.7), (2.8), (2.9) является полной, то независимо от её симметрии переменная c представляет собой матрицу символов, состоящую из 16 строк: 1-я строка – выражение для коэффициента с11, 2-я строка – нуль, 3-я строка – нуль, 4-я строка – выражение для коэффициента с11, 5-я строка – выражение для коэффициента с21, 6-я строка – нуль, 7-я строка – нуль, 8-я строка – выражение для коэффициента с21, 9-я строка – выражение для коэффициента с12, 10-я строка – нуль, 11-я строка – нуль, 12-я строка – выражение для коэффициента с12, 13-я строка – выражение для коэффициента с22, 14-я строка – нуль, 15-я строка – нуль, 16-я строка – выражение для коэффициента с22. Например,

c =
1.0
0
0
1.0
x+2
0
0
x+2
x+2
0
0
x+2
y+1.0
0
0
y+1.0
Если для разных зон заданы разные выражения, то каждая строка матрицы символов c представляет собой последовательность выражений для зон, разделённых восклицательным знаком. Это видно из предыдущих примеров.

Матрицы c, a, f, d могут использоваться в качестве входных аргументов функций adaptmesh, assemb, assempde, hyperbolic, parabolic, pdeeig, pdenonlin, poisolv.

  В оглавление книги \ К следующему разделу \ К предыдущему разделу


Поиск по сайту:

Система Orphus

Яндекс.Метрика