Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Пример 1. Задача: построить равномерное магнитное поле с заданным значением индукции в гладком воздушном зазоре между двумя плоскими сердечниками при наличии в зазоре стального бруса




Несколько советов

5.3.1. Впервые приступая к составлению Lua- скрипта (script – сценарий), внимательно ознакомьтесь со списком Lua -команд, имеющимся в приложении Help. В помощь тем, кто недостаточно знаком с английскими терминами, сделан перевод основных слов, использованных в именах команд (см. раздел 5.4.).

5.3.2. Удобнее писать сценарий не в Lua- консоли непосредственно, а в специальном Word -овском файле, копируя из него команды в Input -окно консоли.

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

5.3.4. Составляя большой сценарий, вводите в Lua- консоль по малому его фрагменту – всего по нескольку простых команд, сразу же проверяя их исполнение.

5.3.5. Блоки сценария можно отлаживать по частям, поочередно, возвращаясь при обнаружении ошибки не к началу сценария, а к началу отлаживаемого блока.

5.3.6. Обращайте внимание на размерность углов. В версиях FEMM до 4.2 значения углов и в алгебраических выражениях, и в выражениях аргументов команд подставляются в градусах, в то время как в поздних версиях FEMM значения углов в алгебраических выражениях подставляются в радианах.

5.4. Перевод английских слов, использованных в Lua -командах

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

clear - очистить

create -создать

open -открыть

pause – пауза

print – печатать

prompt – напоминание, подсказка

quit – закрыть

show – показать

add – добавить

node - узел

arc – дуга

select – выбрать

label – метка (обозначение блока)

prop – сокращение от property – свойство

mesh – ячейка (конечно-элементной сетки)

size – размер

circuit – цепь (в которую входят элементы модели)

magdirection – (от magnetization direction) – направление намагниченности

turns – витки (число витков)

set – установить, назначить

hide – скрыть

deg – градусы

probdef - (от problem definition) – определение (данных) задачи

frequency – частота

units – единицы измерения

precision – точность

depth – глубина (имеется в виду размер в направлении, перпендикулярном плоскости модели, измеренный в заданных единицах длины)

minangle – (от minimum angle) – минимальный (допустимый) угол (конечного элемента)

analyze – запустить процедуру решения задачи

load – загрузить

solution – решение

purge – очистить

copy – копировать

editaction – параметр, определяющий тип объекта, к которому применяется команда (0 – узел, 1 – отрезок прямой, 2 – метка блока, 3 – дуга 4 – группа объектов)

rotate – вращать

translate – линейно переместить

move – передвинуть

scale – масштабировать (изобразить в другом масштабе)

factor – коэффициент

mirror – зеркально отразить

editmode – программа устанавливает тип объектов для последующих команд редактирования, в которых тип объекта не указан явно с помощью параметра editaction

snap – снимок, копия изображения, соответствующая определенному моменту времени

grid – решетка (множество узловых точек, нанесенных на область задачи, отстоящих по горизонтали и по вертикали друг от друга на равные расстояния)

density – плотность (может пониматься как flux density – плотность потока, т.е. индукция, и как grid density – плотность решетки)

refresh – обновить

width – ширина

height – высота

 

Примеры

Пример 1. Задача: построить равномерное магнитное поле с заданным значением индукции в гладком воздушном зазоре между двумя плоскими сердечниками при наличии в зазоре стального бруса

 

Составим Lua-сценарий для задачи, рассмотренной в разделе «Простейшие полевые задачи». На рис. 5.1., повторяющем рис. 1.5. этого раздела, приведен результат решения.


 

Рис. 5.1. Граничные условия и результат решения задачи
о равномерном поле в плоском зазоре

 

Несколько усложним задачу, поместив в зазор стальной брус с прямоугольным поперечным сечением и относительной магнитной проницаемостью, равной 1000.

Начать работу можно следующим образом.

Открыть окно программы FEMM, открыть консоль (окно ввода) Lua, ввести команды: создания fem -файла, сохранения fem -файла, модификации (изменения параметров) fem -файла (рис. 5.2.).

Соответствующие команды (предварительно, как уже было сказано, их удобнее написать в Word -файле):

 

create("c:\\MyFEMMfiles\\Uniform_gap_field.fem",0)

mi_saveas("c:\\MyFEMMfiles\\Uniform_gap_field.fem")

mi_probdef(0,"millimeters","planar",1e-8,1,20)

 

Обратите внимание на то, что в адресах файлов следует писать двойные слеши.

Нулевое значение второго параметра первой команды означает, что создается файл магнитостатической задачи (электростатической задаче соответствует единица)

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


Рис. 5.2. Начало работы с Lua -сценарием

 

Далее следует создать и открыть текстовый файл для записи результатов:

 

outfile = "c:\\MyFEMMfiles\\Uniform_gap_field_res_1.txt "

handle=openfile(outfile,"w")

 

Определим граничные условия и свойства сред (воздух и сталь):

 

mi_addboundprop("left",-0.1,0,0,0,0,0,0,0,0)

mi_addboundprop("right",0.1,0,0,0,0,0,0,0,0)

mi_addmaterial("air")

mi_addmaterial("iron_1000",1000,1000)

 

Результаты исполнения этих команд можно посмотреть, нажав клавишу Properties.

Далее следуют графические построения – задаются координаты угловых точек и проводятся соединяющие их отрезки прямых:

 

mi_addnode(0,0)

mi_addnode(-100,0)

mi_addnode(100,0)

mi_addnode(-100,50)

mi_addnode(100,50)

mi_addsegment(-100,0,100,0)

mi_addsegment(-100,50,100,50)

mi_addsegment(-100,0,-100,50)

mi_addsegment(100,0,100,50)

mi_addnode(-20,10)

mi_addnode(20,10)

mi_addnode(-20,30)

mi_addnode(20,30)

mi_addsegment(-20,10, 20,10)

mi_addsegment(-20,30, 20,30)

mi_addsegment(-20,10, -20,30)

mi_addsegment(20,10, 20,30)

mi_zoomnatural()

 

Последняя команда позволяет увидеть результаты выполненных построений в «натуральном» масштабе на экране компьютера.

 

Следующие действия – присвоение граничных условий:

 

mi_selectsegment(-100,1)

mi_setsegmentprop("left")

mi_clearselected()

mi_selectsegment(100,1)

mi_setsegmentprop("right")

mi_clearselected()

 

и присвоение имен и свойств блоков:

 

mi_addblocklabel(-80,40)

mi_selectlabel(-80,40)

mi_setblockprop("air",0,1,"0",0,0,0)

mi_clearselected()

mi_addblocklabel(-10,20)

mi_selectlabel(-10,20)

mi_setblockprop("iron_1000",0,1,"0",0,0,0)

mi_clearselected()

mi_refreshview()

 

Левой и правой границам области задачи присваиваются условия Дирихле – задаются заранее вычисленные значения векторного магнитного потенциала, обеспечивающие в зазоре при отсутствии стального стержня равномерное магнитное поле с индукцией 1 Тл. Задание условий Дирихле в рассматриваемом примере означает, что левую и правую границы мы полагаем совпадающими с силовыми линиями поля. Это положение, верное при отсутствии в зазоре ферромагнитных тел или проводов с токами, в данном случае является допущением.

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

После того, как полевая задача полностью сформулирована, можно приступать к ее решению:

 

mi_analyze()

 

и загрузке результатов:

mi_loadsolution()

 

Для обработки результатов решения предназначены команды постпроцессора программы FEMM:

Для более наглядного представления картины поля можно, например, изменить число силовых линий в том же диапазоне значений векторного магнитного потенциала:

 

mo_showcontourplot(100,-0.1,0.1)

 

После этого картина поля, представляющая решение задачи, выглядит следующим образом:


 

Рис. 5.3. Картина поля, представляющая решение задачи

 

Графики распределения индукции вдоль определенным образом выбранных контуров (в том числе и для последующего гармонического анализа) могут быть получены с помощью следующих команд:

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

 

mo_addcontour(-100,1)

mo_addcontour(100,1)

 

Запись результатов в текстовый файл (число считываемых значений в данном случае равно 2048):

 

mo_makeplot(2,2048,"c:\\MyFEMMfiles\\Uniform_gap_field_res_1.txt",1)

 

 


Рис. 5.4. Распределение индукции вдоль поверхности нижнего сердечника. Отрицательные значения означают, что векторы индукции направлены сверху вниз

 

Краткий анализ

 

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

Очевидно, что изменяемые размеры или свойства материалов удобнее задавать в виде параметров, присваивая им значения в специально выделенном блоке Lua -программы, помещаемом в ее начале. В следующем примере программа организована именно таким образом.

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...