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

Описание функций системы FEMLAB

  В оглавление

POSTINTERP

Вычисление выражений в произвольных точках

Синтаксис:

[v1,v2,...,vn,pe] = postinterp(fem,e1,e2,...,en,xx,ключевые_параметры)
[is,pe] = postinterp(fem,xx,ключевые_параметры)
[v1,v2,...,vn] = postinterp(fem,e1,e2,...,en,is,ключевые_параметры)

Описание:

Оператор
[v1,v2,...,vn,pe] = postinterp(fem,e1,e2,...,en,xx,ключевые_параметры)
возвращает значения v1,v2,...,vn выражений e1,e2,...,en в точках xx.

Оператор
[is,pe] = postinterp(fem,xx,ключевые_параметры)
вычисляет структурную переменную интерполяции is, которая содержит информацию о том, 
где (в каких зонах) расположены точки xx.

Оператор
[v1,v2,...,vn] = postinterp(fem,e1,e2,...,en,is,ключевые_параметры)
возвращает значения v1,v2,...,vn выражений e1,e2,...,en в точках, описанных в переменной интерполяции is. Столбцам матрицы xx соответствуют точки расчётной области, в которых нужно вычислять выражения. Первая строка - координаты x. Вторая строка - координаты y. Третья - координаты z. Число строк должно равняться числу пространственных измерений расчётной области. Если число строк меньше числа пространственных измерений, то строки соответствуют параметрам face-поверхности или ребра. В этом случае ключевой параметр Dom должен быть равен номеру интересующей подобласти (face или ребра).

Выражения ei - строки символов или массивы строковых ячеек. В последнем случае если в структуре fem поле fem.equ/bnd/edg/pnt.ind существует, то n-я ячейка в массиве ei - вычисляемое выражение в подобласти (зоне, face или ребре), номер которой находится в n-й позиции списка ind. Если поле ind не существует, то n-я ячейка в массиве ei - вычисляемое выражение в подобласти № n. Строки массива ei - выражения MATLAB, содержащие абстрактные переменные системы FEMLAB.

Матрицы v1, v2..., vn имеют размер (k,size(xx,2)), где k - число решений краевой задачи, для которых выполнено вычисление выражений. Значение выражения ei для номера решения j в точке вычисления xx(:,m) - vi(j,m). Каждое из этих k решений соответствует своему моменту времени (если решена нестационарная задача) или своему значению параметра модели (если использован параметрический решатель).

Массив pe содержит индексы, m для точек вычисления xx(:,m) которые находятся вне конечноэлементной сетки или, если область определена ключевым параметром Dom, находятся вне этой области.

Ключевые параметры записываются парами 'PropertyName', PropertyValue, где PropertyName - имя ключевого параметра, PropertyValue - его значение. Перечень ключевых параметров сведён в таблицу.

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

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

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

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

Const

Массив ячеек

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

Определение констант для вычисляемых выражений

Cont

off | on | internal

off

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

Context

local | main

local

 

Contorder

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

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

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

Dom

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

нет

Номер области для вычисления

Ext

число в пределах от 0 до 1

0

"Длина" экстраполяции

Geomnum

целое

1

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

Phase

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

0

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

Solnum

целое

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

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

T

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

fem.sol.tlist(end)

Значение времени для вычисления выражений

U

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

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

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

Ключевой параметр Context определяет, в какой рабочей области MATLAB нужно вычислять выражения: 'main' - в базовой рабочей области; 'local' - в локальной (временной) рабочей области.

Задавая ключевой параметр Ext, можно экстраполировать выражения на точки, находящиеся за пределами расчётной области (а значит, и конечноэлементной сетки). Экстраполяция осуществляется от ближайшего элемента сетки, если расстояние от точки вычисления до этого элемента не превышает Ext*(диаметр элемента) (это грубая оценка предела расстояния). В противном случае соответствующему члену матрицы vi присваивается значение NaN.

Если матрица узлового распределения решения U имеет несколько столбцов, то можно выбирать номера решений для вычисления выражений. Ключевой параметр Solnum - массив номеров решений (номеров столбцов матрицы U) для выполнения вычислений. Если fem.sol.u и fem.sol.tlist существуют, то значение по умолчанию параметра Solnum - size(fem.sol.u,2). Иначе по умолчанию Solnum = 1.

Ключевой параметр T определяет время для вычисления выражения. Если этот параметр не задан, и если fem.sol.u и fem.sol.tlist существуют, то по умолчанию T=fem.sol.tlist(Solnum). Точно так же, если fem.sol.u и fem.sol.lambda существуют, то можно использовать переменную lambda в выражениях. lambda - собственное значение краевой задачи.

Ключевой параметр Phase задаёт фазовый угол опережения по отношению к заданным выражениям. Это означает, что в каждой точке вычисленное выражение умножается на exp(1i*Phase), т.е. к аргументу комплекснозначного поля прибавляется значение Phase.

Ключевой параметр Cont определяет, используется ли сглаживание вычисляемых функций решения. Если Cont=off, то никакое сглаживание не выполняется. Если Cont=on, то вычисляемые функции делаются непрерывными. Для этого вычисляются выражения в точках генерируемых Лагранжевых элементов порядка Contorder, учитываются с усреднением вклады от смежных элементов сетки, затем интерполируются полиномами степени Contorder. Если Cont=internal, то сглаживание выполняется только в пределах областей, или если поле fem.equ/bnd/edg/pnt.ind существует, то в пределах соответствующих групп областей.

Структурная переменная интерполяции вычисляется оператором MATLAB
[is,pe]=postinterp(fem,xx,ключевые_параметры)

Поля этой структуры сведём в таблицу.

Поле Описание
geomnum Номер геометрии
imdomgrp Индекс группы областей сетки. Является скаляром или массивом той же самой длины как me.
dom Номер области. Является скаляром или массивом той же самой длины как me.
me Индексы элементов сетки в пределах группы областей. Массив.
ime Индексы в me, dom и imdomgrp. Массив длины size(xx,2).
xi Координаты элементов. Матрица того же самого размера, как xx.
contorder Порядок полиномов, используемый при сглаживании.
map Уникальные номера Лагранжевых точек в элементах сетки. Используются при выполнении сглаживания.

Для точек вне сети (вне расчётной области), которые не экстраполируются, в поле xi записываются значения NaN, в поле ime записываются для таких точек единицы. Если ключевой параметр Dom указан, то поля imdomgrp и dom - скалярные целые числа. Только ключевые параметры Contorder, Dom, Ext и Geomnum используются в этой форме вызова функции postinterp.

Оператор
[v1,v2,...,vn] = postinterp(fem,e1,e2,...,en,is,ключевые_параметры)
выполняется быстрее, чем
[v1,v2,...,vn,pe] = postinterp(fem,e1,e2,...,en,xx,ключевые_параметры)

Форма вызова функции postinterp, в которой один из входных параметров is (но не xx) игнорирует ключевые параметры Contorder, Dom, Ext и Geomnum.

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

В FEMLAB 2.3 ключевой параметр Variables переименован в Const.
Синтаксис и возможности функции postinterp изменились, начиная с версии FEMLAB 2.1.

См. также posteval, postint.

 

В оглавление


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