|
|
|||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||||
| Вход | |||||||||||||||||||||||||||||||||
Раздел "Femlab"
Синтаксис. [v1,v2,...,vn] = posteval(fem,e1,e2,...,en,ключевые_параметры) Описание. Функция posteval возвращает элементные распределения v1, v2, ..., vn выражений e1, e2, ..., en, вычисляемых в зонах, границах, рёбрах или вершинах. Размерность рассматриваемых подобластей расчётной области определяется ключевым параметром Edim. В одномерных моделях Edim=1 соответствуют зоны, Edim=0 - границы, или вершины. В двумерных моделях Edim=2 соответствуют зоны, Edim=1 соответствуют границы, Edim=0 - вершины (точки). В трёхмерных моделях Edim=3 соответствуют зоны, Edim=2 - face-границы, Edim=1 - рёбра, Edim=0 - вершины. Элементы сетки, соответствующие этой размерности, находятся в fem.xmesh.dmesh{Edim+1}. Входные параметры. fem - переменная структурного типа данных fem. Этот тип данных определён в пакете FEMLAB. e1, e2, ..., en - строки символов, определяющие выражения, которые нужно вычислить в заданных точках конечных элементов. Каждое выражение определяет скалярное поле через параметры материальных свойств, независимые и зависимые переменные, а также их пространственные дифференциальные операторы. Операнды этих выражений являются абстрактными переменными системы FEMLAB. Эти переменные для различных форм краевых задач кратко описаны в заметке "Формы представления дифференциальных уравнений в частных производных в системе FEMLAB. Поддержка решения краевых задач, поставленных в проекционной формулировке". Ключевые параметры записываются парами 'PropertyName', PropertyValue, где PropertyName - имя ключевого параметра, PropertyValue - его значение. Перечень ключевых параметров сведён в таблицу.
Ключевой параметр Const представляет собой массив строковых ячеек, построенный по принципу списка ключевых параметров функций MATLAB: {'Const_Name1', Const_Value1, 'Const_Name2', Const_Value2, …}. Ключевой параметр Context указывает, как интерпретировать имена операндов, если они описаны как в списке Const, так и в структуре fem (а значит, и в вычислительной модели): local - список Const рассматривается с более высоким приоритетом, main - наоборот. Ключевой параметр Phase задаёт фазовый угол опережения по отношению к заданным выражениям. Это означает, что в каждой точке вычисленное выражение умножается на exp(1i*Phase), т.е. к аргументу комплекснозначного поля прибавляется значение Phase. Ключевой параметр Posttype управляет форматом выходных данных. Значение 'vector' указывает на то, что выходные данные должны представляться в виде массивов ячеек. Значение 'struct' указывает на то, что выходные данные должны представляться в виде структур. Поле data - массив значений выражения в заданных точках. Поле index - массив номеров узлов, в которых вычислялось выражение. Поле point - массив координат этих узлов. Refine - ключевой параметр, управляющий генерацией дополнительных узлов конечноэлементной сетки для вычисления заданных выражений. Если одновременно указаны параметры Refine и Spoint, то последний учитывается с более высоким приоритетом (Refine игнорируется). Например, если задано 'Spoint','mid', то выражения будут вычисляться в центрах конечных элементов независимо от задания параметра Refine. Целое число, которое является значением параметра Refine, указывает, на сколько равных частей нужно разбить каждую границу элемента при переопределении сетки с целью генерации дополнительных узлов. Если параметр Spoint не указан, то выражения вычисляются в главных и сгенерированных узлах, включая внутренние узлы исходных конечных элементов. Solnum - этот параметр полезно задавать, если решена нестационарная задача или для решения стационарной задачи использовался параметрический решатель. Целое число, которое является значением параметра Solnum, является номером в списке моментов времени или в списке значений параметра задачи. Spoint - ключевой параметр, определяющий, в каких точках конечных элементов вычислять выражения: Ключевой параметр Cont указывает, должны ли выходные данные быть непрерывными на границах конечных элементов. 'off' - не должны, 'on' - должны на всех границах, 'internal' - должны только на внутренних границах областей (например, зон). См. также поля fem.equ.ind, fem.bnd.ind, fem.edg.ind, fem.pnt.ind структурного типа данных fem. Совместимость с предыдущими версиями. В FEMLAB 2.3 переменные прикладного режима могут переопределяться списком констант в ключевои параметре Const. Ключевые параметры Bdl, Epoint, Sdl, и Tpoint, являются устаревшими, начиная с версии FEMLAB 2.2. Вместо них рекомендуется использовать параметр Dl совместно с Edim. Начиная с версии FEMLAB 2.2, формат выходных данных функции postinterp изменился. Начиная с версии FEMLAB 1.2, появилась возможность использовать переменную lambda в выражениях e1,e2,...,en. Эта переменная доступна для использования в выражениях, если поля fem.sol.u и fem.sol.lambda существуют в структуре fem. lambda - собственное значение краевой задачи. Если модель создана в более ранних версиях FEMLAB, то использование этой переменной в выражениях может вызвать конфликт имён. См. также postinterp, postint. Пример В командном окне MATLAB выполним следующие операторы: femlab % запуск GUI-приложения В GUI-приложении femlab установим прикладной режим 2D/ PDE Modes/ Coefficient/ Linear stationary. Командой меню File/ Insert from Workspace/ Geometry Object(s) внедрим в модель композиционный объект CC. Этот объект моделирует поперечное сечение диэлектрика в "коаксиальном" кабеле со смещённой жилой. На границе жилы зададим потенциал u, равный 10 В. В расчётной области зададим f=0. Выполним команду генерации сетки. Получится сетка, состоящая из 393 главных узлов и 714 Лагранжевых элементов второго порядка. Отметим также, что всего узлов сетки получилось 1500, граничных элементов 72. Запустим модель на решение и подождём, пока оно не закончится. Командой меню File/ Export FEM Structure as 'fem' экспортируем всю модель вместе с решением в рабочую область MATLAB. Если браузер рабочей области открыт, то мы увидим появление новой структурной переменной с именем fem. Выполним следующую последовательность операторов MATLAB: [uu,ux,uy]=posteval(fem,'u','ux','uy'); Поскольку расчётная область модели является односвязной, выходные массивы ячеек uu, ux, uy будут иметь размер (1,1). Последние три оператора используются для расшифровки формата полученных выходных данных. Теперь переменные uu, ux, uy - трёхмерные массивы (суперматрицы) размера (1,714,3). Первый размер равен длине списка fem.sol.tlist. Второй размер равен числу конечных элементов в заявленном списке областей. Напомню также, что ключевой параметр Spoint задан по умолчанию равным 'corner'. Поэтому третий размер суперматрицы равен числу главных узлов в каждом конечном элементе (в данном случае их три). Третий индекс суперматрицы соответствует локальному номеру главного узла в соответствующем конечном элементе. Выполним следующую последовательность операторов MATLAB: [uu,ux,uy]=posteval(fem,'u','ux','uy','Spoint','mid'); Теперь переменные uu, ux, uy - массивы размера (1,714). В них записаны значения скалярного электрического потенциала и его x- и y- компонентов градиента в центрах конечных элементов. Выполним следующую последовательность операторов MATLAB: [uu,ux,uy]=posteval(fem,'u','ux','uy','Refine',2); Теперь переменные uu, ux, uy - массивы размера (1,714,6). В них записаны значения скалярного электрического потенциала и его x- и y- компонентов градиента в главных и дополнительно сгенерированных узлах конечных элементов. Дополнительно сгенерированные узлы будут находиться в серединах рёбер конечных элементов. Выполним следующую последовательность операторов MATLAB: [uu,ux,uy]=posteval(fem,'u','ux','uy','Refine',3); Теперь переменные uu, ux, uy - массивы размера (1,714,10). В них записаны значения скалярного электрического потенциала и его x- и y- компонентов градиента в главных и дополнительно сгенерированных узлах конечных элементов. Шесть дополнительно сгенерированных узлов будут находиться на рёбрах конечных элементов. В каждом конечном элементе будет сгенерирован ещё один узел, который попадёт в центр элемента. Следует отметить, что переопределение сетки происходит условно только для вычисления постпроцессорных выражений. Это переопределение никак не влияет на сетку, описанную в структуре fem. Как видно, ключевой параметр Refine может использоваться для регулирования численной устойчивости постпроцессорной обработки решения разнообразных краевых задач в системе FEMLAB. Чтобы вычислить элементное распределение тех же самых физических величин на границах расчётной области, выполним следующий оператор: [uu,ux,uy]=posteval(fem,'u','ux','uy','Edim',1); Теперь переменные uu, ux, uy - массивы ячеек размера (1,2), т.к. граница расчётной области является двусвязной. Выполняя последовательность операторов uu=uu{1}; получим размеры суперматриц (1,48,2). Эти суперматрицы описывают элементное распределение вышеназванных величин на внешней границе расчётной области, т.е. на оболочке кабеля. Выполняя последовательность операторов [uu,ux,uy]=posteval(fem,'u','ux','uy','Edim',1); получим размеры суперматриц (1,24,2). Эти суперматрицы описывают элементное распределение вышеназванных величин на внутренней границе расчётной области, т.е. на жиле кабеля. |
|
Всероссийская научная конференция "Проектирование научных и инженерных приложений в среде MATLAB" (май 2002 г.)
|
||
| На первую страницу \ Сотрудничество \ MathWorks \ SoftLine \ Exponenta.ru \ Exponenta Pro | ||
| E-mail: | ||
| Информация на сайте была обновлена 11.05.2004 |
Copyright 2001-2004 SoftLine Co Наши баннеры |
|