Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Красников Моделирование физических процессов с исползованием 2012

.pdf
Скачиваний:
172
Добавлен:
12.11.2022
Размер:
12.78 Mб
Скачать

Рис. 3.95. Трёхмерный график с прозрачностью

Рис. 3.96. График величины |grad(u)| в изолиниях

151

Рис. 3.97. Форма свойств экструзии

3.12.4. Переход от двумерной геометрии к трёхмерной

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

Откроем какой-нибудь прикладной режим в 2D-геометрии, и нарисуем прямоугольник с диагональю ((0;0) (1;2)). С подобной двумерной областью можно совершать следующие операции:

Экструзия. Слово «Extrude» переводится на русский язык, как «Выдавливание». Можно считать, что фигура выдавливается из плоскости XY вдоль плоскости Z. Тем самым прямоугольник преобразуется в параллелепипед, круг в цилиндр, а треугольник в призму. Чтобы совершить экструзию над фигурой, следует вызвать

пункт меню Draw->Extrude.

В полученном окне можно настроить параметры данного преобразования (рис. 3.97).

В поле Distance указывается протяжённость полученной фигуры вдоль оси Z. Исходная двумерная область в разных сечениях может изменяться. Поля Scale x,

Scale y содержат множители, на которые изменяются линейные размеры области по каждой из координат на другом конце полученной трёхмерной фигуры. Поля Displacement x, Displacement y определяют смещения другого конца трёхмерной фигуры по осям X и Y. Если значения отличаются от 0, то фигура будет иметь наклон. Поле Twist закручивает фигуру на указанное количество градусов. Полученная фигура будет создана в новой геометрии Geom2. В поле Extruded object name можно переименовать фигуру.

Чтобы посмотреть, как работает экструзия, укажем масштабы

Scale x, Scale y, равными 2 и 2. Смещения Displacement x, Dis-

152

placement y – как 1, 1. Закручивание Twist положим равным 30. После нажатия кнопки OK фигура будет создана (рис. 3.98).

Рис. 3.98. Фигура, сформированная экструзией прямоугольника

Можно видеть, что линейные размеры верхней границы фигуры превышают размеры базовой фигуры в 2 раза. Базовая точка смещена на радиус-вектор (1,1), а сама фигура наклонена к исходной на 30 градусов.

Вращение. Помимо вытягивания вдоль оси Z двумерную область можно вращать в трёхмерном пространстве. Полученная фигура будет представлять собой своеобразный «бублик», профилем которого будет вращаемая область. Для вызова вращения выберем пункт меню Draw->Revolve (рис. 3.99).

В полях Angles of revolution указывается диапазон углов «бублика». По умолчанию строится полная окружность, однако можно построить только какой-нибудь её сектор. В панели Revolution axis указывается ось вращения. Задать подобную ось можно двумя способами: двумя базовыми точками (поле Point on axis и переключатель Second point), либо точкой и направлением (переключа-

153

тель Angle from x-axis), которое задано углом от оси Х. Главное условие на ось – она не должна пересекать саму фигуру.

Рис. 3.99. Форма свойств вращения фигуры

Укажем значение точки Point on axis (-1;0), переставим переключатель на Angle from x-axis, где стоит значение 90 градусов. С данными настройками будет получена следующая фигура

(рис. 3.100).

Рис. 3.100. Фигура, полученная посредством вращения прямоугольника

154

Третья процедура трансформации двумерных фигур в трёхмерное пространство Embed просто переносит двумерный образ в трёхмерное пространство, не меняя его размерности. В опциях можно только указать название полученной фигуры.

В вышеперечисленных случаях все двумерные фигуры находились на плоскости XY. При трансформации в трёхмерную среду, отсчёт начинался именно с неё. Однако при необходимости можно в качестве базовой задать какую-либо другую плоскость. Настро-

ить её можно в окне Draw->Work-plane settings (рис.3.100).

Рис. 3.101. Форма выбора плоскости задания двумерных фигур

В первой вкладке можно задать плоскости, параллельные главным осям. При этом, в соответствующем поле можно указать значение третьей координаты, через которую будет проходить плоскость. Во вкладке Advanced можно задать произвольную плоскость тремя точками. Остальные три вкладки (Face Parallel, Edge Angle, Verticle) будут доступными, только если окно вызвано из 3Dрежима, в котором существуют построенные фигуры. Эти вкладки позволяют выбирать плоскости, параллельные поверхностям и рёбрам этих фигур.

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

155

Рассмотрим вкладку Face Parallel (рис. 3.102). В списке Face selection выбирается нужная поверхность. Поверхность обязательно должна быть плоской, в противном случае система выдаст предупреждение. Поле Offset from face отвечает за расстояние, на которое будет удалена плоскость от данной поверхности. В панели Workplane z-axis direction можно указать направление оси Z (по направлению нормали, или против).

Рис. 3.102. Выбор плоскости, параллельной одной из сторон существующих трёхмерных фигур

Во вкладке Edge Angle можно задать плоскость, направленную под углом, к какой-либо из существующих поверхностей (рис. 3.103). Требования к поверхности аналогичные – она должна быть плоской. В списке Edge Selection выбирается ребро, через которое должна проходить строящаяся плоскость, а в списке Face Selection – поверхность. Поле Angle between face and work plane (degrees) задаёт угол между нашей плоскостью и выбранной поверхностью. Поле Workplane z-axis direction аналогично предыдущему случаю задаёт направление оси Z.

Задание плоскости во вкладке Verticles аналогично заданию плоскости во вкладке Advanced. Только в данном случае точками, по которым строится плоскость, являются вершины существующих фигур. Поля Offset from face, Workplane z-axis direction работают так же, как и в предыдущих случаях.

156

Рис. 3.103. Выбор плоскости, находящейся под углом к какой-либо сторон существующих фигур

4. СВЯЗЬ С MATLAB. COMSOL SCRIPT

4.1. Введение

Одной из наиболее сильных сторон системы FEMLAB является возможность использовать её совместно с пакетом MATLAB. При совместной работе этих двух пакетов возможно экспортировать данные из одного пакета в другой, а также управлять постановкой и решением задачи в FEMLAB из MATLAB. Интеграция с MATLAB существенно расширяет возможности пакета. В предыдущих версиях Comsol Multiphysics при отсутствии пакета MATLAB можно было воспользоваться приложением Comsol Script, которое во многом эквивалентно MATLAB, хотя и имеет намного меньше возможностей. В версии пакета 3.5а приложение Comsol Script отсутствует, поэтому если на машине не стоит пакет MATLAB, то воспользоваться управлением модели скриптами невозможно. Таким образом, если по каким-либо причинам нет возможности использовать пакет MATLAB, то для запуска скриптов, стоит воспользоваться более ранними версиями FEMLAB, например, Comsol Multiphysics 3.2. Здесь будут рассмотрены некоторые особенности работы с приложением Comsol Script для версии

Comsol Multiphysics 3.2.

157

4.2. Запуск совместной работы с Matlab и Comsol Script

Для установки соединения с Matlab нужно выбрать пункт меню

File->Client/Server/Matlab->Connect to Matlab, или загрузить из-

начально Comsol with Matlab. При этом сразу загружается Matlab и обе системы доступны для совместной работы.

Если у вас стоит версия Comsol Multiphysics 3.2, то можно воспользоваться приложением Comsol Script 1.0. Оно является независимым от основной программы. Запустить приложение можно двумя путями:

из программы Comsol Multiphysics вызвать пункт меню File- >Comsol Script. Запущенное приложение будет сопряжено с дан-

ным приложением Comsol Multiphysics;

из главного меню, вызовом программы Comsol Script 1.0. В данном случае будет вызвано лишь само приложение Comsol Script без FEMLAB. Чтобы открыть FEMLAB впоследствии, следует вызвать пункт меню программы File->Start Comsol Multiphysics.

Рис. 4.1. Окно приложения Comsol Script

4.3. Начало работы с Comsol Script

4.3.1. Основные сведения

Итак, загрузив каким-либо образом приложение Comsol Script мы получаем окошко вида, как на рис. 4.1. Работа с ним сходна по

158

принципу с работой в Matlab – она заключается в выполнении команд, посылаемых серверу. В качестве примера, можно набрать 4+5 и нажать клавишу Enter:

C» 4+5

ans =

9

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

C» a=10

a=

10

C» b=a+5

b=

15

Синтаксис языка также сходен с Matlab. Например, создание матрицы размером 3х3 выглядит следующим образом

C» I = [1 0 0; 0 1 0; 0 0 1]

I =

 

 

1

0

0

0

1

0

0

0

1

Если по каким-либо причинам не нужно выводить результат выполнения каждой инструкции, после неё следует поставить точку с запятой.

159

C» I = [1 0 0; 0 1 0; 0 0 1];

4.3.2. Работа с памятью Comsol Script

Чтобы узнать, какие переменные имеются в памяти программы, следует использовать команду who:

C» who

a ans b I

Более подробные сведения можно получить командой whos:

C» whos

Size

Memory

Type

Name

a

1x1

8

double

ans

1x1

8

double

b

1x1

8

double

I

3x3

120

double array

Чтобы очистить переменную x, используется команда clear x. Команда clear all полностью очистит память.

Чтобы сохранить все введённые и запущенные инструкции в памяти, используется команда diary [имя файла].

C» diary mylog.txt

Данная команда будет записывать все последующие инструкции в файл mylog.txt. Отключить запись инструкций в файл можно командой diary off. Обратно включить запись можно коман-

дой diary on.

Набор имеющихся переменных можно сохранить в файл. Для этого следует вызвать команду save [имя файла]. Инструкция

C» save script1

160

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