ОСОБЕННОСТИ ПРИМЕНЕНИЯ ЯЗЫКОВ ПРОГРАММИРОВАНИЯ ВЫСОКОГО УРОВНЯ ДЛЯ РАСЧЕТА РАДИОТЕХНИЧЕСКИХ ПАРАМЕТРОВ МАТЕРИАЛОВ СПЕЦИАЛЬНОГО НАЗНАЧЕНИЯ

Статьи

 




dx.doi.org/ 10.18577/2307-6046-2015-0-7-10-10
УДК 62-758.34:004.432
В. В. Широков
ОСОБЕННОСТИ ПРИМЕНЕНИЯ ЯЗЫКОВ ПРОГРАММИРОВАНИЯ ВЫСОКОГО УРОВНЯ ДЛЯ РАСЧЕТА РАДИОТЕХНИЧЕСКИХ ПАРАМЕТРОВ МАТЕРИАЛОВ СПЕЦИАЛЬНОГО НАЗНАЧЕНИЯ

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

Ключевые слова: радиопоглощающий материал, электромагнитная волна, оптимизация параметров, язык программирования выс

Введение

В настоящее время трудно представить работу организации без компьютеров, которые используются для создания офисных документов, проектирования, моделирования различных процессов, создания рабочих сетей, в которых узлами являются компьютеры и т. д. Но изначально основная задача компьютера предполагала различные математические расчеты, которые в виде программ закладывались в него. Так, одни из первых машин использовали низкоуровневый язык Ассемблер. В данном языке двоичные команды процессора заменены мнемониками (двоичный код каждой команды заменен более понятной аббревиатурой). Позже появились языки высокого уровня. При использовании языков высокого уровня программисту не надо досконально знать внутреннее устройство процессора и других компонентов машины для создания программ. Поэтому программист при создании кода может сосредоточить свое внимание на алгоритмах программы, не вдаваясь в подробности устройства машины. Одним из первых языков программирования высокого уровня был Фортран, который и в настоящее время используется для научных расчетов. В 1972 году появился язык C, который существенно повлиял на будущее языков программирования. Этот язык стал основой для создания языка C++, в котором реализованы механизмы объектно-ориентированного программирования. В свою очередь язык C++ повлиял на такие объектно-ориентированные языки, как Java и C#.

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

 

Выбор языка программирования

Среди процедурных языков программирования для расчета электродинамических параметров наиболее интересны Фортран (77 и выше) и C стандарта 99 (C99), так как они поддерживают работу с комплексными числами. Для языка Фортран тип «комплексное число» является встроенным типом, на языке C в начале программы надо включать файл заголовка .

В языке C++ включается заголовок и используется пространство имен, обозначенное оператором языка std::complex.

Разработка современных радиопоглощающих материалов (как и ряда других композиционных материалов) [1, 2] требует детального расчета и компьютерного моделирования. Для разработки многослойного радиопоглощающего материала требуется предварительный расчет на компьютере параметров слоев и оптимизация этих параметров. При этом используется программа численной оптимизации многослойных радиопоглощающих структур.

Так, для изготовления материала для безэховых камер производится оптимизация (описана в работе [3] для резонансных радиопоглощающих материалов) его структуры на компьютере. Материал представляет собой многослойную структуру из плит на основе вспененного асбеста, наполненного радиотехническим наполнителем. В программу оптимизации закладываются начальные параметры структуры: диэлектрическая проницаемость матрицы (не наполненной элементами радиотехнического назначения), объемное содержание наполнителя, толщина слоев, конфигурация наполнителя (для волокна – отношение длины к диаметру). В программу также закладывается сетка частот и необходимый коэффициент отражения (КО) на каждой частоте. Программа на каждой итерации вычисляет целевую функцию, которая должна быть сведена к минимуму. Целевая функция имеет вид:

                                                                                                                (1)

где R(f)=F(f;p1, p2,pn)– многопараметрическая функция зависимости КО от частоты и от параметров p1,p2,pn;  f1.fn – заданная сетка частот; E1En– заданные необходимые уровни КО.

 

На выходе программы получаем оптимизированные параметры структуры.

 

Методы разработки

Простую программу для ввода, обработки данных и вывода результата можно реализовать на процедурном языке, например создав три функции Input, Funcl, Output. Программируя на языке C, необходимо быть осторожным при работе с массивами и указателями, так как возможны выход за пределы массива или неправильно инициализированный указатель. В сложных программах, возможно, потребуется создать большее число функций. Далее показан пример обозначения (объявления) комплексных переменных и массивов на языках Фортран [4] и C [5]. Показано также обозначение (объявление) комплексных переменных на языке C++ [6].

 

Пример на языке Фортран:

COMPLEX A, X, C(100)– обозначение (объявление) двух комплексных переменных A, X и массива С из 100 комплексных элементов.

 

Пример на языке C99:

include

. . . . . .

double complex A, X, C[100];

 

Пример на языке C++:

#include

. . . . . .

std::complexA, X, C[100];

 

Необходимо помнить о различии между обращением к элементам массива в языках C/C++ и Фортран. В языках C и C++ отсчет элементов массива начинается с 0, в Фортране – с 1.

Обращение к первому и последнему элементу на языке Фортран:

. . . . . .

A=C(1)

X=C(100)

. . . . . .

Обращение к первому и последнему элементу на языках C и C++:

. . . . . .

A=C[0];

X=C[99];

. . . . . .

После обозначения (объявления) переменных их можно использовать в программе. Программируя на современном языке Фортран, следует в начале программы ввести оператор implicit none для предотвращения автоматического определения типа переменной.

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

 

 

 

Пример программы для расчета коэффициента отражения

Далее приведен фрагмент программы на языке Фортран для расчета коэффициента отражения (КО) материала при известных величинах e и µ (по программе рассчитывают КО с учетом того, что образец расположен на металле) с использованием следующих формул:

                                                       ;                                             (2)

                                                                 ;                                                           (3)

                                                           ,                                                     (4)

где Zвх – нормированный входной импеданс (комплексный); μ, ε – соответственно относительные комплексные магнитная и диэлектрическая проницаемости; λ – длина волны; d – толщина образца; RмодЕмодуль коэффициента отражения по напряженности электрического поля; Rдб – коэффициент отражения, дБ.

 

Данная программа состоит из трех основных частей:

– считывания исходных данных из файла в массивы, которые размещены в памяти. Из входного файла для каждого образца считываются: толщина образца, комплексные диэлектрическая и магнитная проницаемости;

– для каждого образца рассчитываются величины Zвх и R;

– вывод результатов в файл – в выходной файл выводится коэффициент отражения.

 

Блок-схема программы для расчета коэффициента отражения

 

Описание блок-схемы программы (см. рисунок) и алгоритм программы вычисления КО образца, расположенного на металле, приведены далее:

  1. Оператор входа в программу (название программы – PROGNAME).
  2. Ввод с клавиатуры: ms – количество образцов; lyam – длина волны.
  3. Считывание входных данных из файла: s – шифр образца; ε – комплексная диэлектрическая проницаемость; µ – комплексная магнитная  проницаемость; d – толщина образца.
  4. Цикл по количеству образцов – от 1 до ms; i – текущий образец. Если параметр i меньше или равен количеству образцов, тогда цикл выполняется. Если параметр i больше количества образцов, тогда выход из цикла.
  5. Расчет промежуточных переменных и массивов – расчет Zвх (входной импеданс образца) и R (коэффициент отражения).
  6. Переход к следующей итерации.
  7. Вывод рассчитанных данных (R) в выходной файл – выводится шифр образца и соответствующий коэффициент отражения.
  8. Конец программы (PROGNAME).

 

Вычисление КО, реализованное на языке Фортран, выглядит следующим образом (! – символ, обозначающий комментарий):

program PROGNAME

implicit none

! В начале программы обязательно обозначаются (объявляются) все переменные и
! массивы, используемые в программе.

! Здесь объявление всех массивов и переменных.

. . . . . . . .

! Здесь считывание исходных данных из файла в переменные и массивы, находящиеся ! в памяти компьютера.

. . . . . . . .

! Здесь основной цикл расчета:

! мнимая единица

jmnim=(0,1.)

! цикл расчета с 1 по последний образец. ms=количество образцов.

do i=1,ms

! вспомогательные массивы и переменные

mu_eps(i)=csqrt(mu(i)/eps(i))

mu_eps1(i)=csqrt(mu(i)*eps(i))

xcompx(i)=((mu_eps1(i)*(2.*3.14*tolsh(i)))/lyam)

sin1(i)=csin(xcompx(i))

cos1(i)=ccos(xcompx(i))

tan1(i)=sin1(i)/cos1(i)

! Вычисление результата и сохранение его в массивах

z(i)=-jmnim*mu_eps(i)*tan1(i)

modz(i)=cabs((z(i)-1.0)/(z(i)+1.0))

r(i)=20.0*log10(modz(i))

end do

. . . . . . . .

! Здесь вывод результатов в выходной файл.

. . . . . . . .

end program PROGNAME

 

Заключение

В ВИАМ разработано множество программ для расчета радиотехнических параметров на языках высокого уровня, некоторые приведены далее:

– программа для численной оптимизации многослойных радиопоглощающих структур;

– программы для расчета диэлектрической (ε) и магнитной проницаемости (µ) материала, при помощи которых рассчитывают комплексные ε и μ, по данным полученным при измерении материала в волноводной линии [7]. В работе [8], после измерений в волноводе, диэлектрическая проницаемость образцов рассчитывалась по программе;

– разработана также программа для определения коэффициента отражения образца после измерения параметра S11 на анализаторе цепей. К порту 1 анализатора цепей подключена рупорная антенна, которая направлена на образец и остается неподвижной в течение всего процесса измерений. Данные снимаются с анализатора цепей при передвижении вниз образца, расположенного на подъемнике. На анализаторе цепей определяются минимальное значение КО и максимальное значение КО, сумма уровня отражения образца и антенны. Во входной файл программы вводятся измеренные значения, далее программа рассчитывает КО образца. Данная программа используется в работах [9, 10];

– программа вычисления комплексной диэлектрической проницаемости образцов после определения коэффициента прохождения на анализаторе цепей, к портам которого подключены две рупорные антенны. Образец располагается между рупорными антеннами. Метод расчета описан в работе [11].

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

Исследование выполнено при финансовой поддержке РФФИ в рамках научного проекта №15-38-20717 мол_а_вед.


ЛИТЕРАТУРА REFERENCE LIST
1. Каблов Е.Н. Инновационные разработки ФГУП «ВИАМ» ГНЦ РФ по реализации «Стратегических направлений развития материалов и технологий их переработки на период до 2030 года» //Авиационные материалы и технологии. 2015. №1 (34). С. 3–33.
2. Каблов Е.Н. Авиакосмическое материаловедение //Все материалы. Энциклопедический справочник. 2008. №3. С. 2–14.
3. Романов А.М., Беляев А.А., Широков В.В. Особенности оптимизации резонансных радиопоглощающих материалов немагнитного типа //Труды ВИАМ. 2014. №11. Ст. 05 (viam-works.ru).
4. ISO/IEC 1539:1991.
5. ISO/IEC 9899:1999.
6. ISO/IEC 14882:2003.
7. Широков В.В., Романов А.М. Исследование диэлектрических характеристик стеклосотопласта волноводным методом //Авиационные материалы и технологии. 2013. №4. С. 62–70.
8. Каблов Е.Н., Кондрашов С.В., Юрков Г.Ю. Перспективы использования углеродсодержащих наночастиц в связующих для полимерных композиционных материалов //Российские нанотехнологии. 2013. Т. 8. №3–4. С. 24–42.
9. Беляев А.А., Кондрашов С.В., Лепешкин В.В., Романов А.М. Радиопоглощающие материалы //Авиационные материалы и технологии. 2012. №S. С. 348–352.
10. Краев И.Д., Образцова Е.П., Юрков Г.Ю. Влияние морфологии магнитного наполнителя на радиопоглощающие характеристики композиционных материалов //Авиационные материалы и технологии. 2014. №S2. С. 10–14.
11. Шульдешов Е.М., Лепешкин В.В., Романов А.М. Метод неразрушающего контроля комплексной диэлектрической проницаемости входных слабо наполненных слоев градиентных радиопоглощающих полимерных композиционных материалов //Труды ВИАМ. 2014. №11. Ст. 11 (viam-works.ru).
1. Kablov E.N. Innovacionnye razrabotki FGUP «VIAM» GNC RF po realizacii «Strategicheskih napravlenij razvitija materialov i tehnologij ih pererabotki na period do 2030 goda» [Innovative development of VIAM Federal State Unitary Enterprise of GNTs Russian Federation on implementation «The strategic directions of development of materials and technologies of their processing for the period till 2030»] //Aviacionnye materialy i tehnologii. 2015. №1 (34). S. 3–33.
2. Kablov E.N. Aviakosmicheskoe materialovedenie [Aerospace materials science] //Vse materialy. Jenciklopedicheskij spravochnik. 2008. №3. S. 2–14.
3. Romanov A.M., Beljaev A.A., Shirokov V.V. Osobennosti optimizacii rezonansnyh radiopogloshhajushhih materialov nemagnitnogo tipa [Features of optimization of resonance radio absorbing materials of non-magnetic type] //Trudy VIAM. 2014. №11. St. 05 (viam-works.ru).
4. ISO/IEC 1539:1991.
5. ISO/IEC 9899:1999.
6. ISO/IEC 14882:2003.
7. Shirokov V.V., Romanov A.M. Issledovanie dijelektricheskih harakteristik steklosotoplasta volnovodnym metodom [Research of dielectric characteristics of glass-fiber-reinforced honeycomb by the waveguide method] //Aviacionnye materialy i tehnologii. 2013. №4. S. 62–70.
8. Kablov E.N., Kondrashov S.V., Jurkov G.Ju. Perspektivy ispol'zovanija uglerodsoderzhashhih nanochastic v svjazujushhih dlja polimernyh kompozicionnyh materialov [Perspectives of use of carbon-containing nanoparticles in binding for polymeric composite materials] //Rossijskie nanotehnologii. 2013. T. 8. №3–4. S. 24–42.
9. Beljaev A.A., Kondrashov S.V., Lepeshkin V.V., Romanov A.M. Radiopogloshhajushhie materialy [Radio absorbing materials] //Aviacionnye materialy i tehnologii. 2012. №S. S. 348–352.
10. Kraev I.D., Obrazcova E.P., Jurkov G.Ju. Vlijanie morfologii magnitnogo napolnitelja na radiopogloshhajushhie harakteristiki kompozicionnyh materialov [Influence of morphology of magnetic filler on radio absorbing characteristics of composite materials] //Aviacionnye materialy i tehnologii. 2014. №S2. S. 10–14.
11. Shul'deshov E.M., Lepeshkin V.V., Romanov A.M. Metod nerazrushajushhego kontrolja kom-pleksnoj dijelektricheskoj pronicaemosti vhodnyh slabo napolnennyh sloev gradientnyh radiopogloshhajushhih polimernyh kompozicionnyh materialov [Method of non-destructive testing of complex dielectric permittivity of the entrance poorly filled layers of gradient radio absorbing polymeric composite materials] //Trudy VIAM. 2014. №11. St. 11 (viam-works.ru).
Вы можете оставить комментарий к статье. Для этого необходимо зарегистрироваться на сайте.