Вестник МГТУ. 2015, №1.

Куклин Д.В., Селиванов В.Н. Программное обеспечение для расчета... использоваться для создания программ. Модуль работы с расчетной моделью компилируется в отдельную программу, использующую файлы основного модуля. Графическая оболочка также компилируется в отдельную программу и использует файлы основного модуля и модуля работы с расчетной моделью. Графическая оболочка • Создание и редактирование модели • Трехмерное представление модели ■ Вывод результатов расчета Модуль работы с расчетной моделью • Работа с файлом модели ■ Задание специфичных объектов модели Основной модуль • Расчет электромагнитного поля ■ Учет поглощающих граничных условий « Задание источников поля Рис. 1. Структура программного обеспечения 2. Основной модуль Основной модуль содержит классы с функциями расчета электрического и магнитного полей конечно- разностными выражениями, используемыми для решения уравнений Максвелла в дифференциальной форме; реализацию поглощающих граничных условий (в данном случае применяются UPML (Gednev. 1996)); задание источников поля; функции сохранения результатов расчетов. Для выполнения расчетов создан класс основного цикла расчета. Перед началом расчета в него следует добавить экземпляры классов в порядке расчетов, которые необходимо совершить за одну итерацию цикла. Данные экземпляры классов содержат функции, в которых выполняются соответствующие классам операции (расчеты поля, учет граничных условий, сохранение результатов). В качестве источников можно задавать значения полей в конкретных точках расчетной области (что создает основу реализации источников тока и напряжения), а также есть возможность задавать плоские волны. Данного модуля достаточно для проведения расчетов, но задание модели в таком случае требует компиляции отдельной программы для каждого расчета. К тому же задавать модель в виде кода неудобно и может приводить к ошибкам задания модели, которые трудно обнаружить. Для повышения удобства был создан следующий модуль. 3. Модуль работы с расчетной моделью Данный модуль компилируется в виде программы, использующей файлы основного модуля, и осуществляет расчеты на основе текстового файла описания модели. Кроме описания модели в файле содержатся расчеты, полученные в результате работы программы. В параметры модели входят: размер расчетной области, размер ячейки, время расчета (число итераций цикла), задание объектов модели (грунт, проводники, источники тока и напряжения, сосредоточенные элементы). В таблице представлены основные команды. Все числа полей команд являются положительными. Опишем, как реализованы некоторые команды. Положение и размер параллелепипеда команды "bar" задается через две ячейки, одна из которых имеет меньшие значения координат по осям х. у и г, а другая - большие. Удельная проводимость и диэлектрическая проницаемость просто устанавливаются во всех точках, находящихся внутри этого параллелепипеда. Проводник произвольного диаметра (команда "thin wire") задается с помощью метода, описанного в (Railton et at., 2005). Моделирование проводника с произвольным расположением (команда "staircasewire") осуществляется при помощи ступенчатой аппроксимации (Noda et at., 2004). Также есть команда "staircasecorwire" для моделирования произвольно ориентированного проводника с корректировкой ошибки скорости распространения волн (Куклин, 2013b), поля которой совпадают с полями команды "staircase wire". Команда "voltagepath" задает расположение пути расчета интеграла электрического поля, который в случае конечного размера ячейки, рассчитывается как сумма Е Д - А , (1) I где Е, - значение напряженности электрического поля в точке расчетной сетки, А - размер ячейки. Ток рассчитывается как интеграл напряженности магнитного поля вокруг проводника (также в виде суммы): ЕЯ , А, (2) I где Я, - значение напряженности электрического поля в точке расчетной сетки. Результаты расчетов записываются программой между командами "result(" и ")result". 138

RkJQdWJsaXNoZXIy MTUzNzYz