Компоненты

Раздел архитектурной документации TMC Suite. Состав пакета: 6 статических библиотек и 6 программ, зона ответственности каждого компонента, расположение исходников и файлы проектов.

Пакет состоит из 6 библиотек (статические .lib) и 6 программ (исполняемые .exe). Программы делятся на три группы: вьюверы, счётные ядра и визуализатор полей FieldView.


1. Библиотеки (статические .lib)

Библиотеки — это переиспользуемый код без точки входа. Каждая собирается независимо как StaticLibrary под Win32 и x64.

Библиотека Папка исходников Проект Зона ответственности
SFILE95 src/libs/SFILE95 SFILE95.vcxproj Чтение/запись файлов матриц рассеяния (S-файлы)
complex src/libs/complex complex.vcxproj Процедурная (Си-стиль) арифметика комплексных чисел
exprint src/libs/exprint exprint.vcxproj Разбор и вычисление математических выражений
TMCLibError src/libs/TMCLibError TMCLibError.vcxproj Хранение и обработка ошибок
PREPR src/libs/PREPR Prepr.vcxproj Препроцессор макросов входных данных
TMCIndan src/libs/TMCIndan TMCIndan.vcxproj Расчёт наведённых токов / топология структуры

Общие заголовки библиотек и программ лежат в src/Include/ (например, COMPLEX1.H, Typedef.h, Typerth.h, Tmcgrviw.h).

Краткие пояснения

  • SFILE95 — центральная библиотека обмена данными. S-файл (матрица рассеяния) — основной формат, которым программы обмениваются между собой. Читается и вьюверами, и ядрами.
  • complex — арифметика комплексных чисел в стиле языка Си (функции над структурой _complex, без перегрузки операторов). Нужна для работы с S-матрицами и полями.
  • exprint — разбор строковых выражений (например, формул во входных данных) и их вычисление.
  • TMCLibError — единый механизм фиксации и передачи ошибок между слоями.
  • PREPR — препроцессор, разворачивающий макросы во входных файлах перед расчётом.
  • TMCIndan — расчёт наведённых токов и работа с топологией планарной структуры (используется счётными ядрами).

2. Программы — вьюверы

Вьюверы — MFC-приложения для просмотра и обработки результатов расчёта. Не считают поле, а отображают и преобразуют готовые данные.

Программа Исполняемый файл Папка исходников Назначение
TMCGROUT TMCGROUT.exe src/viewers/Tmcgrout Графики частотных характеристик S-матрицы: КСВН, потери, модуль/фаза
TMCROS TMCROS.exe src/viewers/Tmcrtout Временны́е сигналы и преобразование «время → S-матрица» (Time-to-Scattering)
TMC_DN TMC_DN.exe src/viewers/DiaNapGr Диаграммы направленности антенных решёток (КНД/КИП, девиации)

3. Программы — счётные ядра

Счётные ядра — расчётные модули. Читают описание структуры/топологии, выполняют электродинамический расчёт и формируют выходные файлы.

Программа Исполняемый файл Папка исходников Назначение
PlanarRT_H tmc_rth.exe src/kernels/PlanarRT_H Расчёт планарных структур, H-поляризация (о-мода), 2 подтакта на цикл
PlanarRT_X tmc_rtx.exe src/kernels/PlanarRT_X Расчёт планарных структур, X-мода, 4 подтакта на цикл, требует 6 макросов

X-мода собирается из тех же исходников, но с 6 макросами препроцессора, заданными в свойствах проекта (C/C++ → Preprocessor → Preprocessor Definitions): ELECTRON_Q___, ELECTRON_M___, CTMCRTH_INDANBLCK_FILEY, CTMCRTH_INDANBLCK_RECTSTATY, CTMCRTH_INDANBLCK_CIRCSTATY, CTMCRTH_INDANBLCK_POLYGSTTY. Макросы не добавляются в общие заголовки.


4. Программа — FieldView

Программа Исполняемый файл Папка исходников Назначение
FieldView FieldView.exe src/fieldview OpenGL-просмотрщик распределений поля, ε и топологии (2D/3D)

FieldView — единственная программа пакета, использующая OpenGL (opengl32, glu32) для трёхмерной визуализации.


5. Сводная диаграмма состава

TMC Suite
├── Библиотеки (.lib)
│   ├── SFILE95       — S-файлы (чтение/запись)
│   ├── complex       — комплексная арифметика
│   ├── exprint       — разбор выражений
│   ├── TMCLibError   — обработка ошибок
│   ├── PREPR         — препроцессор макросов
│   └── TMCIndan      — наведённые токи / топология
│
├── Вьюверы (.exe)
│   ├── TMCGROUT      — частотные характеристики S-матрицы
│   ├── TMCROS        — временны́е сигналы, время→S
│   └── TMC_DN        — диаграммы направленности
│
├── Счётные ядра (.exe)
│   ├── PlanarRT_H    — H-поляризация  (tmc_rth.exe)
│   └── PlanarRT_X    — X-мода         (tmc_rtx.exe, 6 макросов)
│
└── FieldView (.exe)  — визуализация полей (OpenGL)

Components

Architecture documentation section of TMC Suite. Package contents: 6 static libraries and 6 programs, the responsibility of each component, the location of the sources and the project files.

The package consists of 6 libraries (static .lib) and 6 programs (executable .exe). The programs fall into three groups: viewers, compute kernels, and the FieldView field visualizer.


1. Libraries (static .lib)

Libraries are reusable code with no entry point. Each is built independently as a StaticLibrary for Win32 and x64.

Library Source folder Project Responsibility
SFILE95 src/libs/SFILE95 SFILE95.vcxproj Reading/writing scattering-matrix files (S-files)
complex src/libs/complex complex.vcxproj Procedural (C-style) complex-number arithmetic
exprint src/libs/exprint exprint.vcxproj Parsing and evaluation of mathematical expressions
TMCLibError src/libs/TMCLibError TMCLibError.vcxproj Storing and handling errors
PREPR src/libs/PREPR Prepr.vcxproj Macro preprocessor for input data
TMCIndan src/libs/TMCIndan TMCIndan.vcxproj Induced-current computation / structure topology

The shared headers of the libraries and programs live in src/Include/ (for example, COMPLEX1.H, Typedef.h, Typerth.h, Tmcgrviw.h).

Brief explanations

  • SFILE95 — the central data-exchange library. The S-file (scattering matrix) is the main format the programs exchange with each other. It is read by both viewers and kernels.
  • complex — complex-number arithmetic in C style (functions over the _complex structure, without operator overloading). Needed for working with S-matrices and fields.
  • exprint — parsing of string expressions (for example, formulas in the input data) and their evaluation.
  • TMCLibError — a single mechanism for capturing and passing errors between layers.
  • PREPR — a preprocessor that expands macros in the input files before computation.
  • TMCIndan — induced-current computation and handling of the planar-structure topology (used by the compute kernels).

2. Programs — viewers

Viewers are MFC applications for viewing and processing computation results. They do not compute the field; they display and transform finished data.

Program Executable Source folder Purpose
TMCGROUT TMCGROUT.exe src/viewers/Tmcgrout S-matrix frequency-response graphs: VSWR, losses, magnitude/phase
TMCROS TMCROS.exe src/viewers/Tmcrtout Time signals and the "time → S-matrix" transform (Time-to-Scattering)
TMC_DN TMC_DN.exe src/viewers/DiaNapGr Radiation patterns of antenna arrays (directivity/aperture efficiency, deviations)

3. Programs — compute kernels

The compute kernels are computation modules. They read the description of the structure/topology, perform the electrodynamic computation, and produce output files.

Program Executable Source folder Purpose
PlanarRT_H tmc_rth.exe src/kernels/PlanarRT_H Computation of planar structures, H-polarization (o-mode), 2 sub-steps per cycle
PlanarRT_X tmc_rtx.exe src/kernels/PlanarRT_X Computation of planar structures, X-mode, 4 sub-steps per cycle, requires 6 macros

X-mode is built from the same sources, but with 6 preprocessor macros set in the project properties (C/C++ → Preprocessor → Preprocessor Definitions): ELECTRON_Q___, ELECTRON_M___, CTMCRTH_INDANBLCK_FILEY, CTMCRTH_INDANBLCK_RECTSTATY, CTMCRTH_INDANBLCK_CIRCSTATY, CTMCRTH_INDANBLCK_POLYGSTTY. The macros are not added to the shared headers.


4. Program — FieldView

Program Executable Source folder Purpose
FieldView FieldView.exe src/fieldview OpenGL viewer of field distributions, ε and topology (2D/3D)

FieldView is the only program in the package that uses OpenGL (opengl32, glu32) for three-dimensional visualization.


5. Summary diagram of contents

TMC Suite
├── Libraries (.lib)
│   ├── SFILE95       — S-files (read/write)
│   ├── complex       — complex arithmetic
│   ├── exprint       — expression parsing
│   ├── TMCLibError   — error handling
│   ├── PREPR         — macro preprocessor
│   └── TMCIndan      — induced currents / topology
│
├── Viewers (.exe)
│   ├── TMCGROUT      — S-matrix frequency responses
│   ├── TMCROS        — time signals, time→S
│   └── TMC_DN        — radiation patterns
│
├── Compute kernels (.exe)
│   ├── PlanarRT_H    — H-polarization  (tmc_rth.exe)
│   └── PlanarRT_X    — X-mode          (tmc_rtx.exe, 6 macros)
│
└── FieldView (.exe)  — field visualization (OpenGL)