II Всероссийская конференция пользователей MATLAB, 25-26 мая 2004 года >>
На первую страницу
Рубрика Matlab&Toolboxes
Российские MATLAB-разработки
Вход
Раздел "Femlab"

POSTINT

Интегрирование выражений по областям, имеющим произвольную пространственную размерность

Синтаксис.

v = postint(fem,e,ключевые_параметры)

Описание.

Функция postint возвращает интеграл от выражения e по области, описанной ключевыми параметрами. Интегрируемые выражения могут быть выражениями MATLAB, содержащими переменные FEMLAB. Ключевые параметры записываются парами 'PropertyName', PropertyValue, где PropertyName - имя ключевого параметра, PropertyValue - его значение. Перечень ключевых параметров сведён в таблицу.

Имя ключевого параметра

Возможные значения

Значение по умолчанию

Краткое описание

Const

Массив ячеек

Пустой массив

Определение констант для интегрируемого выражения

Cont

off | on | internal

off

Сглаживание, см. posteval

Context

local | main

local

 

Contorder

положительное целое

Порядок функций формы

Порядок сглаживающих полиномов

Dl

массив целых чисел

Все подобласти

Список подобластей, образующих область интегрирования

Edim

целое

число измерений расчётной области:
1D - 1,
2D - 2,
3D - 3

Число измерений (размерность) областей. В случае 3D:
0 - вершины,
1 - рёбра,
2 - границы (faces),
3 - трёхмерные зоны

Geomnum

целое

1

Номер геометрии в мультигеометрической модели

Intorder

положительное целое

См. ниже

Порядок интегрирования

Phase

действительное число

0

Угол опережения по фазе, радианы

Solnum

целое

1 или size(fem.sol.u,2)

Номер решения

T

действительное число

fem.sol.tlist(end)

Значение времени для вычисления подинтегрального выражения

U

Массив узлового распределения рассчитанного поля

fem.sol.u или массив нулей, если это поле не существует

Узловое распределение поля, для которого нужно вычислить выражения в заданных точках расчётной области

Когда solnum определяет несколько решений, возвращенное значение v имеет тот же самый размер как solnum. Ключевые параметры Const, Context, T и U описаны в assemble, postinterp.

Ключевой параметр Intorder - порядок интегрирования. Значение по умолчанию - максимальное значение, возвращаемое методом shintorder для объектов, описывающих функции формы. Этот максимум выбирается в конечных элементах, принадлежащих геометрии Geomnum. Если объект, описывающий функции формы не имеет метода shintorder, то возвращаемое значение предполагается равным 2*sshape-1, где sshape - поле в структуре FEM для геометрии Geomnum, если такое поле существует, иначе это 4.

Ключевые параметры Cont, Contorder и Phase описаны в posteval.

Примеры.

1. Вычислить интеграл решения уравнения Пуассона по двумерной расчётной области, представляющей собой диск.

clear fem
fem.dim = 1;    % Число зависимых переменных
fem.geom = circ2; % Круг с центром (0,0) и радиусом 1
fem.mesh = meshinit(fem); % Генерируем сетку
fem.equ.c = 1;
fem.equ.f = 1;
fem.bnd.h = 1;      % Коэффициенты PDE и ГУ
fem.xmesh = meshextend(fem);  % Расширение сетки
fem.sol = femlin(fem);    % Решение линейного PDE
postint(fem,'u')      % Интегрирование решения по всей расчётной области

В результате выполнения этой последовательности операторов MATLAB в командное окно 
будет выдан результат интегрирования:

ans =
  0.38956
  
2. Проверить выполнение теоремы о дивергенции: интеграл по расчётной области 
от правой части равен интегралу по границе от нормальной составляющей функции потока.

af=postint(fem,'f')   % Интегрируем правую часть
ancu=postint(fem,'ncu','edim',1)    % Интегрируем нормальную составляющую функции потока
af =
  3.1326
ancu =
  -3.0259
de=(af+ancu)/af
de =
  0.034069
  
Как видно, оценка относительной погрешности интегрирования составляет примерно 3.4 %.

3. Выполнить п.2 на конечноэлементной сетке, построенной из изопараметрических элементов второго порядка.

fem.shape = 2;    % Порядок функций формы
fem.sshape = 2;   % Порядок функций, аппроксимирующих геометрию
fem.xmesh = meshextend(fem);
fem.sol = femlin(fem);
af=postint(fem,'f')
ancu=postint(fem,'ncu','edim',1)
af =
  3.1416
ancu =
  -3.1387
de=(af+ancu)/af
de =
  0.00091347
  
На конечных элементах второго порядка оценка погрешности интегрирования составляет примерно 0.09 %.

Совместимость с предыдущими версиями.

В FEMLAB 2.3 ключевой параметр Variables переименован в Const.

См. также: posteval, postinterp


О получении локальных копий сайтов
  Всероссийская научная конференция "Проектирование научных и инженерных приложений в среде MATLAB" (май 2002 г.)
На первую страницу \ Сотрудничество \ MathWorks \ SoftLine \ Exponenta.ru \ Exponenta Pro   
E-mail:    
  Информация на сайте была обновлена 11.05.2004 Copyright 2001-2004 SoftLine Co 
Наши баннеры