Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебник 411.docx
Скачиваний:
19
Добавлен:
30.04.2022
Размер:
4.84 Mб
Скачать

Описание интерфейса препроцессора

После обычного запуска препроцессора необходимо ввести уникальный номер задачи в диапазоне 1–999, который будет идентифицировать текущую задачу. Этот номер впоследствии будет использоваться при сохранении файлов задачи в качестве расширения имени (например, taskinfo.12 – файл описания задачи №12, nn1___.12 – файл конечно-элементной сетки задачи №12, и т.д.).

При запуске из командной строки после имени исполняемого файла можно указать через пробел номер задачи, например

pre2d.exe 12

тогда указанная задача загрузится вместе с конечно-элемент­ной сеткой (если она, конечно, была ранее создана).

Интерфейс препроцессора (рис. П13) включает главное меню (отображается в верхней части экрана), основное окно изображения, малое окно изображения (в правой верхней части экрана) и строку ввода (в самом низу). В основном окне отображаются геометрические объекты – узлы, линии, зоны, их номера, конечно-элементная сетка и т.д. Малое окно служит для отображения всей области и положения на ней изображения основного окна. В строке ввода пользователь по командам, активируемых в пунктах, доступных из главного меню, либо горячими клавишами, вводит на клавиатуре различные данные.

Рис. П24. Интерфейс препроцессора (цвета инвертированы).

Доступ к пунктам главного меню осуществляется по клавише F10, либо с помощью мыши. Ниже приводится подробное описание пунктов этого меню.

Меню «Файл»

Загрузить задачу F9

Для продолжения прерванной работы над задачей нужно запустить программу pre2d.exe (введя тот же или другой номер задачи), а затем загрузить задачу с диска, выбрав этот пункт меню или нажав F9. При этом возможны два режима загрузки: а) загрузить только геометрию задачи, б) загрузить геометрию и данные для автоматического разбиения области. Эти данные наследуются от предыдущего сеанса работы препроцессора. Выбрав пункт б), в дальнейшем можно получить предыдущее разбиение с помощью команды Ctrl+F8.

Сохранить задачу (F2)

Если область задачи еще не разбита на конечные элементы, то информация о задаче сохраняется в одном файле с именем taskinfo и номером задачи в качестве расширения имени (например, taskinfo.12). Информация о конечно-элементной сетке и условиях в узлах записывается в остальные файлы – xr, yr, nn1, potent – с тем же номером-расширением. Рекомендуется в процессе работы время от времени сохранять введенные данные во избежание их потери из-за неверных действий пользователя или ошибки программы.

Уравнение

Позволяет задавать вид дифференциального уравнения, которое необходимо решить в данной задаче.

В общем случае дифференциальное уравнение имеет вид:

,

где – неизвестная функция, вид функций G, А и F определяется пользователем. Возможны следующие частные случаи, которые можно выбрать с помощью меню:

а) уравнение типа Лапласа:

;

б) уравнение типа Пуассона:

;

в) уравнение диффузии:

.

Выбрав общий вид уравнения (выделяется кнопкой Space), а также тип задачи (плоская или осесимметричная), с помощью кнопки «More» («Далее») можно перейти в меню задания конкретного вида уравнения (рис. П14). Изменять можно только те функции, которые не равны нулю для выбранного ранее уравнения, т.е. для уравнения Лапласа можно изменить только функцию А, для уравнения Пуассона – функции А и F, и т.д. Активными элементами меню являются названия функций, перемещение по которым осуществляется клавишей «Tab».

Рис. П25. Формы для задания типа задачи и вида уравнения.

Конкретный вид функций, входящих в уравнение, а также в граничные и начальные условия, задается с помощью специального шаблона. Сначала пользователь должен выбрать, от каких параметров должна зависеть функция. К примеру, для функции A появляется список:

0 (функция равна нулю);

const0 (равна ненулевой константе);

A(r) (зависит от координат);

A(u) (зависит от искомой функции);

A(u,r) (зависит от искомой функции и координат);

A(u) (зависит от градиента искомой функции);

A(u,r) (зависит от градиента искомой функции и координат).

В общем случае каждая функция может быть представлена в виде комбинации не более трех элементарных функций из базового набора:

константа f = C;

полином, например, 1 порядка f=Ax+By+C или f=Au+B;

экспонента f = Aexp(Bx + Cy + D) или f = Aexp(Bu + C);

sin и cos – тригонометрические функции f=Asin(Bx+Cy+D)+ +Ecos(Fx + Gy + H) или f = Asin(Bu + C) + Dcos(Eu + F);

степенная (f = AxB + CyD + E или f = AuB + C).

Рис. П26. Задание вида функций, входящих в уравнение.

Для каждой функции из этого набора пользователь должен ввести набор числовых коэффициентов {A, B, C, D, …} согласно подсказке.

Эти элементарные функции являются функциями только одной переменной (либо только , либо только t, и т. д.). Они соединяются между собой операциями сложения (f1 + f2), умножения (f1 * f2) или деления (f1 / f2) (рис. П15).

Граничные условия

Могут быть заданы следующие условия:

Дирихле (условие 1-го рода)

,

Неймана (2-го рода)

,

смешанные (3-го рода) ,

разрез – задается скачок потенциала на линии разреза. В данной версии программы требуется, чтобы линия разреза была прямой или ломаной. Кроме величины скачка, требуется еще указать направление обхода, при котором скачок потенциала положителен (различные направления обхода соответствуют разным направлениям тока, текущего по сверхпроводнику). Таким образом, чтобы задать условие скачка, пользователь должен указать номера линий, на которых вводится разрез, величину скачка потенциала (т.е. силу тока), а также номер точки (вспомогательного узла), не лежащей на разрезе и указывающей направление обхода при положительном значении скачка.

условие в узле сети – вводится номер узла конечно-элемен­тной сетки и фиксированное значение функции u в этом узле,

u=constусловие постоянства неизвестной функции на некоторой линии ,

интегральное ,

сохранение потока – задается поток через линию разреза . Наличие этого условия подразумевает, что одновременно потенциал претерпевает скачок на . Однако величина этого скачка заранее неизвестна и определится в результате решения задачи, т.е. после запуска программы процессора. Поэтому так же, как и при задании скачка потенциала (см. «разрез»), необходимо ввести цепочку прямых линий, образующих разрез, значение фиксированного потока 0 и номер вспомогательного узла, не лежащего на  и определяющей направление нормали в выражении для потока (от этого зависит знак скачка потенциала – тока, который течет в двусвязном сверхпроводнике, поддерживая сохраняющееся значение 0).

Везде для задания  пользователем вводятся номера введенных ранее линий. Задание функций, входящих в граничные условия, осуществляется аналогично функциям, входящим в уравнение.

Начальные условия

Для нестационарных задач (например, при решении уравнения диффузии) необходимо также задавать начальные условия – значения функции. Начальные условия имеют вид:

.

Неоднородности среды

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

Сначала пользователь должен ввести номера зон, для которых будет видоизменяться уравнение/начальное условие. Затем появляется окно ввода функций, в точности такое же, как при выборе пунктов «Уравнение» и «Начальное условие», относящихся ко всей области задачи.

Информация

С помощью этого меню можно просмотреть текущие параметры задачи – вид уравнения, введенные граничные и другие условия, неоднородности, и др.

Меню «Вид»

Изменить масштаб – F1

С помощью этой функции можно изменять масштаб выво­димого на экран изображения. Красная рамка, появляющаяся на экране, показывает ту часть области, которая будет видна при новом масштабе. Уменьшение и увеличение размеров рамки производится с помощью клавиш « < » и « > », перемещение – с помощью стрелок.

Задать масштаб – Alt+F1

С клавиатуры задается новый масштаб изображения в процентах. Масштабирование производится относительно точки, которая находилась в центре экрана.

Вся область – Ctrl+F1

Масштаб изменяется таким образом, чтобы на экране можно было видеть всю расчетную область задачи.

Предыдущий ракурс – Alt+BkSp

Иногда бывает нужно вернуться к одному из предыдущих ракурсов изображения. Выбрав эту команду, в левом верхнем углу экрана Вы увидите изображение, которое отображалось до последнего изменения масштаба. Запоминается до 15 предыдущих ракурсов, выбор нужного производится правой и левой стрелками.

Меню «Ввести»

Узлы – F3

С клавиатуры согласно подсказке вводятся координаты узлов, т.е. точек, по которым строится геометрия области. Одной командой можно создать несколько узлов (лишь бы список их координат помещался в строке ввода). Кроме этого способа, новые узлы можно создавать, нажимая правую кнопку мыши. Узел появится в ближайшей к указателю мыши точке пересечения линий координатной сетки. Точки, лежащие на границе области или на линиях раздела, рекомендуется вводить точно – задавая координаты, а приближенным методом с помощью мыши пользоваться для задания внутренних узлов.

Линия – F4

В появившемся списке типов линий нужно выбрать нужный пункт, а затем ввести необходимую информацию согласно подсказке. Для прямой по координатам это 4 числа – координаты концов линии; для прямой по узлам – два целых числа (номера узлов начала и конца линии). Кривая 2-го порядка строится по трем узлам по параметрическим формулам (1). Задавая ее по координатам, нужно ввести 6 чисел (координат 3 узлов), задавая по узлам – 3 целых числа (номера уже существующих узлов). Дуга окружности задается 3 целыми числами: номерами узлов начала и конца дуги, а также центра окружности. Дуга проводится от одного узла к другому по кратчай­шему пути, поэтому если попытаться нарисовать полуокружность (угол 180), то будет невозможно предсказать, с какой сто­роны она пройдет. Тем самым угол между радиусами, проведен­ными от центра к началу и концу дуги, должен быть меньше 180. Если расстояния от центра до начальной и конечной точек не бу­дут равны, построение дуги окружности станет невозможным.

Линию (только прямую) можно также ввести с помощью мыши. Сначала нужно навести указатель на вспомогательный узел N1 (этот узел будет началом линии), затем, нажав и удерживая на нем правую кнопку мыши, переместить указатель в конечную точку линии. Если эта точка совпадет с уже имеющимся узлом N2, появится линия с новым номером, соединяющая N1 и N2. В противном случае в месте, где была отпущена кнопка мыши, возникнет новый узел N3, и введенная линия будет соединять узлы N1 и N3. Этот способ ввода линии не всегда надежен, так как требует определенных навыков и качественной мыши.

Зона четырехугольная – F5,

Зона Делоне – Alt+F5

Четырехугольная зона задается номерами двух противолежащих линий, при этом если две другие линии еще не существуют, то они вводятся автоматически (как прямые). Зона Делоне может быть окружена произвольным числом линий (3, 4, 5 и т.д.), причем перед заданием такой зоны все эти линии должны уже существовать. При создании зоны Делоне вводится список линий, окружающих зону, в порядке их следования (по часовой стрелке либо против). Две разновидности зон соответствуют двум имеющимся в программе алгоритмам генерации конечно-элементной сетки (блочный и метод Делоне). Зона Делоне может быть разбита только методом Делоне (каждая линия делится на произвольное число отрезков, каждый из которых впоследствии становится стороной конечного элемента), четырехугольная зона – как методом Делоне, так и блочным методом (противоположные линии всегда делятся на одинаковое число отрезков).

Добавить линии в объект

Несколько линий могут быть объединены в один сложный объект, который можно перемещать относительно остальных элементов области задачи с помощью одной команды (см. меню "Операции"). Обычно эти линии являются границами раздела сред (например, при моделировании сверхпроводящего или металлического объекта, окруженного вакуумом или воздухом).

Меню «Удал»

Д анное меню предназначено для удаления различных объектов геометрии и параметров задачи.

Узлы, Линии, Зоны

С помощью этих пунктов меню удаляются соответственно узлы, линии или зоны, номера которых вводятся с клавиатуры пользователем.

При удалении вспомогательных узлов и линий следует помнить, что при удалении узла автоматически удаляются и все линии, в состав которых он входит, и все зоны, в состав которых входят эти линии. При удалении линии также удаляются все зоны, в состав которых входит эта линия.

Условия на линиях (удаляются граничные и другие условия, которые ранее были введены на линиях; номера последних вводятся пользователем)

Условие в узле сети (фиксированный узел становится свободным)

Сеть в зоне (удаляется конечно-элементная сетка в задаваемой зоне)

Неоднородности (отмена для зон всех параметров, которые были введены в пункте «Неоднородности» меню «Файл»)

Объект (удаляется объект, введенный в соответствующем пункте меню "Ввести")

Все ГУ (удаляются все граничные и другие условия задачи).

Меню «Выдел»

М огут быть выделены такие геометрические объекты, как узлы, линии и зоны. При этом пользователь вводит соответствующие им номера. Выделение может понадобиться при большом количестве разнообразных объектов и их номеров на экране, когда цифры накладываются друг на друга. Кроме этого, если выделяется узел, то на экран будут выведены его координаты. Если выделить линию, на которой задано какое-либо условие, то оно также будет показано.

Выделить узел или линию можно также с помощью мыши, если навести ее на интересующий вас объект и произвести один щелчок левой кнопкой (если кнопку нажать и, удерживая, передвигать указатель мыши, то объект будет перемещаться).

Меню «Разб»

Разбиение зон на конечные элементы. При первом обращении к этому меню в текущем сеансе работы необходимо выбрать из списка тип конечного элемента. Чтобы разбить зону, следует ввести ее номер, а затем данные о густоте сети (для каждой линии, формирующей зону, указывается число деления, которое определяет количество умещающихся на ней элементов).

Т ак как в программе могут использоваться зоны двух типов – четырехугольные и произвольные (зоны Делоне), то для каждой из них при задании команды «Разбить» (или нажатии F8) вызывается своя подпрограмма триангуляции. Для четырехугольных зон используется блочный метод, предполагающий, что противолежащие линии разбиваются на одинаковое число отрезков. Поэтому при разбиении четырехугольной зоны программа будет запрашивать числа разбиения только для двух линий.

Для зон Делоне, которые могут быть образованы произвольным числом линий, используется метод Делоне. Программа запрашивает числа разбиения для всех линий, поскольку для алгоритма Делоне эти числа никак не связаны.

Также имеется возможность разбить четырехугольную зону методом Делоне. Для этого используется комбинация клавиш «Alt+F8». Тогда для четырехугольной зоны будет вызвана подпрограмма метода Делоне, а не блочного метода.

Меню «Others»

3

Д анное меню содержит ряд команд для облегчения работы по построению области, делению ее на зоны и разбиению зон на конечные элементы.

Подменю «Деление линий» содержит следующие пункты:

Деление линии (a:b) – превращает прямую (соединяющую два узла – начало и конец линии) в параметрическую линию 2-го порядка, задаваемую тремя узлами и описываемую формулами (1). Добавляемый третий узел размещается между началом и концом линии на одной прямой с ними, и делит линию на два отрезка в пропорции (a:b), считая от узла с меньшим номером. Таким изменением типа линии наряду с перемещением среднего узла можно добиться изменения плотности сетки вдоль соответствующей линии – сгущению вблизи меньшего отрезка и к разрежению вблизи большего отрезка. Пользователь задает номер линии и два числа a и b, образующих пропорцию. Наиболее часто используются отношения, лежащие между 1:1 и 1:2.

Деление отрезка (a:b) – на отрезке между двумя узлами создается новый узел, который делит отрезок в пропорции (a:b), считая от узла с меньшим номером. Пользователь задает номера двух существующих узлов и два числа a и b, образующих пропорцию. Новые линии не создаются.

Деление отрезка на N равных частей – на отрезке между двумя узлами создаются (N–1) новых узлов, которые делят исходный отрезок на N равных частей. Пользователь задает номера двух существующих узлов и число N.

Подменю «Качество сети» содержит два пункта:

Color map (т.е. цветовая карта) – закрашивает все конечные элементы в соответствии с их параметром качества. Эта функция работает только для треугольных конечных элементов. За параметр качества треугольника берется отношение радиусов вписанной и описанной окружностей. Максимальное значение параметра – 0,5. Весь диапазон значений этого параметра для проверяемой сетки разбивается на 10 интервалов, каждому из которых соответствует свой цвет.

Задать параметр качества – пользователь вводит численное значение (от 0 до 0,5), и те элементы, у которых параметр качества меньше этого числа, будут закрашены.

Объединение узлов – иногда при выполнении геометрических операций (копирования, переноса, поворота, и т.д.) вновь создаваемый узел накладывается на уже существующий (т.е. разность их координат оказывается ничтожно малой). После этого работать с ними становится нельзя (не читаются номера этих узлов на экране; линии, проведенные из них, оказываются не связанными друг с другом, и т.д.). Для устранения этой ситуации их нужно объединить, т.е. уничтожить один из них (с бόльшим номером), и прикрепить включающие его линии к оставшемуся узлу. Пользователь вводит погрешность – минимально допустимое расстояние между узлами (обычно 0,001 или меньше). Те узлы, которые отстоят друг от друга на это расстояние и менее, подвергаются процедуре объединения.

Меню «Операции»

Э то меню, которое также может быть вызвано клавишей Space, включает следующие операции:

Сдвиг – осуществляется сдвиг (перемещение) геометрических базовых объектов, определяемый вектором (Rx,Ry).

Параллельный перенос – операция похожа на сдвиг, но с сохранением исходных объектов, т.е. возникает копия исходных объектов.

Поворот-копирование – появляется новый геометрический объект в результате поворота некоторого исходного базового объекта, который при этом не исчезает; пользователь задает помимо номеров узлов (линий, зон) угол поворота в градусах и номер вспомогательного узла, относительно которого совершается поворот.

– Поворот-сдвиг – операция действует как поворот-копирова­ние, за исключением того, что поворачиваемый объект после поворота исчезает.

Зеркальное отображение – осуществляется копирование гео­метрических объектов по принципу зеркального отображения относительно некоторой оси, которая задается двумя узлами.

Сдвиг части области (Alt+M) – на экране появляется рамка, положение и размеры которой регулируются кнопками «стрелки» и «Alt+стрелки»; после этого все вспомогательные узлы, попавшие внутрь рамки, сдвигаются на задаваемый пользователем вектор (Rx,Ry).

Здесь под базовыми геометрическими объектами понимаются узлы, линии, зоны, используемые при задании геометрии в препроцессоре. Все перечисленные операции помимо этих объектов можно применять к зонам с сеткой и к сложному объекту (см. меню «Ввести»). Данные вводятся пользователем согласно подсказке.

Перемещать узлы и линии можно с помощью мыши. Для этого сначала следует навести указатель на интересующий объект и произвести один щелчок левой кнопкой. Если кнопку нажать и, удерживая, передвигать указатель мыши, то объект будет перемещаться, "прыгая" от одной точки пересечения линий координатной сетки к другой.

Меню «Опции»

С помощью этого меню можно включать или выключать различные элементы изображения.

Включение или выключение каждого пункта осуществляется клавишей Space. При этом напротив соответствующего элемента появляется слово «есть» или «нет». Выход из меню – Esc.

М еню «Помощь»

В этом меню содержится справочная информация о препроцессоре, смысл которой ясен из названий пунктов.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]