Компоненты
Раздел архитектурной документации 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
_complexstructure, 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)