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

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

Список функций Partial Differential Equations Toolbox: Функции решения PDE задач

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

ASSEMPDE
Сборка глобальной матрицы коэффициентов
и правой части PDE задачи

Синтаксис:

u=assempde(b,p,e,t,c,a,f)

Описание:

Осуществляет сборку и решение PDE задачи, основанной на уравнении

-div(c*grad(u))+a*u=f.                                                                                                         (1)

Узловое распределение решения представляет собой столбцовую матрицу u.

Входные параметры.

  • b - имя пользовательской m-функции, вычисляющей матрицы описания граничных условий (см. pdebound);
  • p - массив узлов конечноэлементной сетки (столбцам соответствуют узлы):
    - первая строка - горизонтальные координаты узлов,
    - вторая строка - вертикальные координаты узлов;
  • e - матрица граничных элементов на границах раздела зон (см. initmesh, pdegeom);
  • t - матрица треугольных конечных элементов (столбцам соответствуют треугольники):
    - t(1:3,ie) - глобальные номера узлов треугольника с номером ie,
    - t(4,ie) - номер зоны, которой принадлежит треугольник с номером ie.
  • с - массив, описывающий распределение коэффициента c в расчётной области (см. уравнение (1));
  • a - массив, описывающий распределение коэффициента a в расчётной области (см. уравнение (1));
  • f - массив, описывающий распределение правой части PDE f в расчётной области (см. уравнение (1)).

Синтаксис:

[k,f1]=assempde(b,p,e,t,c,a,f)

Описание:

Осуществляет сборку глобальной разреженной матрицы коэффициентов k и глобальной столбцовой матрицы правой части f1. Решение PDE задачи вычисляется оператором MATLAB u=k\f1.

Синтаксис:

[k,f1,b1,ud]=assempde(b,p,e,t,c,a,f)

Описание:

Осуществляет сборку таким образом, что u=b1*(k\f1)+ud.

Синтаксис:

[k,m,f1,q,g,h,r]=assempde(b,p,e,t,c,a,f)

Описание:

Осуществляет сборку нестационарной PDE задачи без решения.

Синтаксис:

u=assempde(k,m,f,q,g,h,r)

Описание:

Осуществляет решение скомпонованной PDE задачи.

Синтаксис:

[k1,f1]=assempde(k,m,f,q,g,h,r)

Описание:

Осуществляет представление скомпонованной PDE задачи в виде глобальной матрицы коэффициентов k1 и глобальной правой части f1.

Синтаксис:

[k1,f1,b1,ud]=assempde(k,m,f,q,g,h,r)

Описание:

То же, что и в предыдущем случае, для системы PDE с граничными условиями Дирихле.

Для скалярной PDE задачи u - матрица-столбец узлового распределения искомой величины. Для системы PDE u - матрица размера (NP,N), где NP - число узлов конечноэлементной сетки, N - число переменных в каждом узле.
В общем случае b - имя пользовательского m-файла, вычисляющего матрицы описания граничных условий q, g, h, r (см. pdebound).

Возможны также следующие варианты вызова данной функции:
u=assempde(b,p,e,t,c,a,f,u0)
u=assempde(b,p,e,t,c,a,f,u0,time)
u=assempde(b,p,e,t,c,a,f,time)
[k,f1]=assempde(b,p,e,t,c,a,f,u0)
[k,f1]=assempde(b,p,e,t,c,a,f,u0,time)
[k,f1]=assempde(b,p,e,t,c,a,f,u0,time,sdl)
[k,f1]=assempde(b,p,e,t,c,a,f,time)
[k,f1]=assempde(b,p,e,t,c,a,f,time,sdl)
[k,f1,b1,ud]=assempde(b,p,e,t,c,a,f,u0)
[k,f1,b1,ud]=assempde(b,p,e,t,c,a,f,u0,time)
[k,f1,b1,ud]=assempde(b,p,e,t,c,a,f,time)
[k,m,f1,q,g,h,r]=assempde(b,p,e,t,c,a,f,u0)
[k,m,f1,q,g,h,r]=assempde(b,p,e,t,c,a,f,u0,time)
[k,m,f1,q,g,h,r]=assempde(b,p,e,t,c,a,f,u0,time,sdl)
[k,m,f1,q,g,h,r]=assempde(b,p,e,t,c,a,f,time,sdl)

Необязательные входные параметры.

  • sdl - список (в виде одномерного массива) номеров зон расчётной области, для которых нужно произвести сборку PDE задачи (в случае указания данного параметра сборка будет произведена только для указанных зон);
  • u0 - начальное приближение решения PDE задачи в виде узлового распределения для нелинейного решателя;
  • time - ограничение времени моделируемого процесса.

Коэффициенты PDE в скалярном случае.

Коэффициенты c, a, f (см. уравнение (1)) в качестве входных параметров функции assempde могут быть представлены следующим образом.

  • Скалярная константа.
  • Матрица-строка значений данного коэффициента в центрах треугольников конечноэлементной сетки.
  • Текстовое выражение в терминах синтаксиса языка MATLAB, в котором допускается использование абстрактных переменных x, y, sd, u, ux, uy, t. Здесь x, y - координаты центра конечного элемента; sd - номер зоны, которой принадлежит треугольник; u - искомая величина в центре треугольника; ux, uy - компоненты градиента искомой величины в конечном элементе; t - время.
  • Последовательность текстовых выражений, разделённых восклицательными знаками (!), каждое из которых соответствует своей зоне.
  • Имя m-функции, имеющей список входных параметров (p,t,u,time), возвращающая элементное распределение данного коэффициента PDE в виде матрицы-строки.

Если c представляет собой постоянное распределение двумерного тензора второй валентности, то соответствующий входной параметр c представляется матрицей размера (2,2), содержащей декартовы компоненты этого тензора.

В случае системы из N PDE a и f представляют собой матрицы размера (NP,N), c - матрица, состоящая из (NP,NP) блоков размера (N,N), каждый из которых развёрнут в строку.

См. также initmesh, pdegeom, pdebound, assema, assemb.

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

 

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

Система Orphus

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