История изменений и исправленные ошибки

Здесь перечислены нововведения и устранённые ошибки пакета TMC Suite, которые видны пользователю. Технический журнал разработчика — в файле ISSUES.md в корне проекта.


Документация

Справочник входного языка .tpl (2026‑07‑15)

  • Добавлено руководство «Файл задания .tpl — как его создать». Раньше документация описывала лишь отдельные параметры на примере готового файла; теперь есть методика составления задания с нуля (чертёж → «коробка» → декомпозиция на блоки → выбор шага сетки) и полный справочник входного языка: все ключевые слова, все графические примитивы с рисунками, препроцессор (#define, #include, выражения), частотный свип, типичные ошибки. Восстановлено по авторскому руководству «TAMIC‑Rt H, версия 2.0p» (2000) и сверено с кодом.

  • Исправлены ошибки в руководствах ядер. По итогам сверки с кодом:

  • расширения выходных файлов. Указывалось несуществующее .f для распределения поля; на самом деле ядро пишет .ex, .ey, .hz, .em, .ef. Расширение .tf — историческое (версия 2.0p), текущий код его не создаёт;
  • INPUT_X/INPUT_Y. Описывались как «вход по оси X/Y». На самом деле INPUT_X — вход вдоль оси Y (на левой или правой границе, размеры задаются по Y), INPUT_Y — наоборот;
  • первый параметр входа. Описывался как «возбуждение U(y)». На самом деле это мода (MAGNETIC — плоская волна, METAL или пусто — волна H₁₀); амплитуда и фаза задаются необязательными параметрами 6 и 7;
  • материал MAGNETIC (стенка холостого хода) отсутствовал в списке материалов;
  • секция #OUTPUT — не были описаны SMATRIX, FIELDS, TOPOLOGY.

  • Уточнён формат файла .eps (распределение ε) в API‑документации: точная раскладка заголовка и бинарного массива, совместимость файлов одинарной и двойной точности.


Новые возможности

Плазма и подмагничивание (X‑мода)

  • Расчёт плазмы в ядре tmc_rtx (PlanarRT_X). Поддержаны блоки задачи .tpl:
  • RECT_STAT_N — концентрация электронов N (м⁻³, СИ) → плазменная частота ω_p;
  • RECT_STAT_B — внешнее магнитное поле подмагничивания B (Тл) → циклотронная частота Ω;
  • RECT_STAT_Y — потери Y плазмы.

Величины B и Y действуют совместно с перекрывающим блоком RECT_STAT_N (замагничивать/вносить потери имеет смысл только там, где есть плазма).

  • FieldView: визуализация плазмы. В FieldView добавлен режим отображаемой величины (меню View → Eps → Type и 4 новые кнопки панели инструментов EPS · N · B · Y): можно смотреть проницаемость ε, концентрацию N, магнитное поле B или потери Y. Кнопки N/B/Y активны, только если в открытом поле есть соответствующая плазма (см. раздел «FieldView», п. 5.3.2.1).

Прочее

  • Диаграмма направленности из X‑моды. Ядро tmc_rtx теперь создаёт файлы ДН (.AMP, .FAZ, .DAT) — раньше их формировала только H‑мода. Диаграмма X‑моды совпадает с H‑модой для незамагниченного случая.
  • Ссылка на документацию в окне «О программе». Во всех программах пакета в окне About добавлена гиперссылка на локальную документацию.

Исправленные ошибки

Симптом (как проявлялось) Что стало
Кнопка «Статистика» в H‑ и X‑ядрах закрывала программу. Исправлено — окно статистики открывается корректно.
Вьюверы выдавали ошибку «Encountered an improper argument» при запуске. Исправлено.
Ядра и FieldView падали при открытии файла (ошибка 0xC0000409 / «Параметр задан неверно»). Исправлено.
TEST_EPS.TPL при открытии выдавал «Параметр задан неверно». Исправлено.
TMCROS/TMCGROUT не запоминали тип оси X/Y между запусками. Исправлено.
В X‑моде рост/«ребристость» поля, волна «замирала» и разрасталась (POLY.TPL). Исправлено — расчёт переведён в двойную точность (double); результат совпал с эталоном.
Зависание при закрытии окна во время счёта (H/X‑ядра): окно закрывалось, а процесс «висел» и снимался только через диспетчер задач. Исправлено — при закрытии во время счёта появляется запрос «Остановить и закрыть?»: «Да» — счёт останавливается и окно закрывается чисто; «Нет» — счёт продолжается.
Подмагничивание/потери плазмы не работали: блоки RECT_STAT_B и RECT_STAT_Y молча воспринимались как RECT_STAT_N. Исправлено — теперь B (магнитное поле) и Y (потери) читаются и учитываются правильно.

Частично / в проработке

  • Проверка ε > 0 на входе. При загрузке .tpl добавлена проверка: если на входном порту задана недопустимая проницаемость (ε ≤ 0), выводится ошибка в строке состояния и счёт не запускается (предотвращает появление NaN). Проверка сопротивления порта и ε счётных диэлектрических блоков — на рассмотрении автора.
  • Блок ABSORBER в X‑моде (nan на некоторых задачах) — локализован; окончательная формула поглощающей границы согласовывается с автором.

Полные технические подробности каждой ошибки (причина, файлы, способ проверки) — в файле ISSUES.md. Замечания и предложения — через сайт проекта tamic.ru.

Changelog and fixed issues

This page lists the new features and fixed issues of the TMC Suite package that are visible to the user. The developer's technical log is in the ISSUES.md file at the project root.


Documentation

Reference of the .tpl input language (2026-07-15)

  • The guide "The .tpl task file — how to create it" has been added. Previously the documentation described only individual parameters using a ready-made file as an example; there is now a methodology for composing a task from scratch (drawing → the "box" → decomposition into blocks → choosing the grid step) and a complete reference of the input language: every keyword, every graphical primitive with figures, the preprocessor (#define, #include, expressions), the frequency sweep, and typical mistakes. Reconstructed from the author's manual "TAMIC-Rt H, version 2.0p" (2000) and verified against the code.

  • Errors in the kernel manuals have been fixed. Following the verification against the code:

  • the output file extensions. A non-existent .f was given for the field distribution; the kernel actually writes .ex, .ey, .hz, .em, .ef. The .tf extension is historical (version 2.0p); the current code does not create it;
  • INPUT_X/INPUT_Y. These were described as "an input along the X/Y axis". In fact INPUT_X is an input along the Y axis (on the left or right boundary, its extent given along Y), and INPUT_Y is the opposite;
  • the first parameter of an input. It was described as "the excitation U(y)". In fact it is the mode (MAGNETIC — a plane wave; METAL or empty — the H₁₀ wave); the amplitude and phase are set by the optional parameters 6 and 7;
  • the MAGNETIC material (an open-circuit wall) was missing from the list of materials;
  • the #OUTPUT sectionSMATRIX, FIELDS and TOPOLOGY were not described.

  • The .eps file format (the ε distribution) has been clarified in the API documentation: the exact layout of the header and the binary array, and the compatibility of single- and double-precision files.


New features

Plasma and magnetization (X-mode)

  • Plasma computation in the tmc_rtx kernel (PlanarRT_X). The following .tpl task blocks are supported:
  • RECT_STAT_N — electron concentration N (m⁻³, SI) → plasma frequency ω_p;
  • RECT_STAT_B — external magnetizing field B (T) → cyclotron frequency Ω;
  • RECT_STAT_Y — plasma losses Y.

The B and Y values act together with an overlapping RECT_STAT_N block (magnetizing/adding losses only makes sense where there is plasma).

  • FieldView: plasma visualization. A displayed-quantity mode has been added to FieldView (menu View → Eps → Type and 4 new toolbar buttons EPS · N · B · Y): you can view the permittivity ε, the concentration N, the magnetic field B, or the losses Y. The N/B/Y buttons are active only if the open field contains the corresponding plasma (see the "FieldView" section, item 5.3.2.1).

Other

  • Radiation pattern from X-mode. The tmc_rtx kernel now creates radiation- pattern files (.AMP, .FAZ, .DAT) — previously only the H-mode produced them. The X-mode pattern matches the H-mode one in the unmagnetized case.
  • Documentation link in the "About" window. In all programs of the package, a hyperlink to the local documentation has been added to the About window.

Fixed issues

Symptom (how it manifested) What it is now
The "Statistics" button in the H and X kernels closed the program. Fixed — the statistics window opens correctly.
The viewers reported "Encountered an improper argument" on startup. Fixed.
The kernels and FieldView crashed when opening a file (error 0xC0000409 / "improper parameter"). Fixed.
TEST_EPS.TPL reported "improper parameter" on opening. Fixed.
TMCROS/TMCGROUT did not remember the X/Y axis type between runs. Fixed.
In the X-mode the field grew / became "ribbed", the wave "stalled" and expanded (POLY.TPL). Fixed — the computation was moved to double precision (double); the result matched the reference.
Freeze when closing the window during computation (H/X kernels): the window closed but the process "hung" and could only be terminated via Task Manager. Fixed — closing during computation now shows a "Stop and close?" prompt: "Yes" stops the computation and closes the window cleanly; "No" continues the computation.
Plasma magnetization/losses did not work: the RECT_STAT_B and RECT_STAT_Y blocks were silently treated as RECT_STAT_N. Fixed — B (magnetic field) and Y (losses) are now read and taken into account correctly.

Partial / in progress

  • Checking ε > 0 on input. When loading a .tpl, a check was added: if an invalid permittivity (ε ≤ 0) is set at an input port, an error is shown in the status bar and the computation does not start (this prevents NaN from appearing). Checking the port impedance and the ε of computational dielectric blocks is under the author's review.
  • The ABSORBER block in the X-mode (nan on some tasks) — localized; the final formula for the absorbing boundary is being agreed with the author.

Full technical details of each issue (cause, files, verification method) are in the ISSUES.md file. Comments and suggestions — via the project website tamic.ru.