Форматы файлов и цвета граничных условий

Практическая часть FAQ по работе с файлами расчёта: что за что отвечает, как цвета граничных условий связаны с R0, какие ограничения на имена и путь установки, и какие ошибки чаще всего возникают на этих шагах.

Файлы расчёта: что за что отвечает

Для каждого расчёта создаётся несколько файлов, например omsk_1.k0, omsk_1.k1, omsk_1.k2…, omsk_1.xyz, omsk_1.tip, omsk_1.lam, omsk_1.fsv, omsk_1.mnm. Форматы всех файлов открыты (программа написана по «открытой архитектуре»), и вот для чего каждый нужен:

  • k0, k1, k2, … k99 — до 100 подконструкций, создаются в Modeler; в каждом хранится плоское разбиение, количество слоёв и шаги по Z. Эти файлы не привязаны к конкретному расчёту, поэтому их можно копировать вручную из одного расчёта в другой — главное, чтобы в последовательности не было «дырок». Например, k0, k1, k2, k3 — нормально, а k0, k2, k3, k6 — нет: не хватает k1, k4, k5, и вы увидите только первую подконструкцию. Так, скопировав omsk_1.k3 (уже готовую сложную подконструкцию) в omsk_2.k0, получите её же первой подконструкцией в расчёте omsk_2.
  • xyz — геометрия ограждающей конструкции, создаётся Modeler.
  • tip — граничные условия (температура среды и коэффициенты теплоотдачи), создаётся Temper6.
  • lam — характеристики материалов (теплопроводность), создаётся Temper6.
  • fsv — файл температур, то есть результатов расчёта. Modeler создаёт его «нулевым» (без этого файла Temper6 выдаст ошибку, хотя Temper5 откроет файл и без него). При каждом нажатии кнопки «Расчёт» Temper6 переписывает его неточными промежуточными значениями — полагаться на них нельзя, точные значения появляются только после того, как расчёт действительно проведён.
  • mnm — создаётся на сервере, открывается любым текстовым редактором; содержит тепловые потоки, R0 (для «опытных пользователей») и диагностику того, насколько корректно проведён расчёт (погрешности, ошибки, предупреждения).

Цвета граничных условий и R0

При задании граничных условий доступно 20 цветов, но значение R0 в файле mnm выдаётся, только если цвета использованы по правилам — при произвольной раскраске R0 будет посчитан некорректно.

Начиная с версии 6.14.03 часть цветов зарезервирована:

  • цвет №11 (чёрный) — для граничных условий первого рода; использовать его без консультации с автором не рекомендуется;
  • цвета №1, 9, 10, 14 — используются при расчёте R0 по формуле

Если цвета использованы произвольно, R0 придётся посчитать вручную — как это сделать, описано в статьях «Что такое Ro» и «Как правильно рассчитать Ro». Автоматически R0 в mnm по-прежнему выдаётся только «опытным пользователям» — чтобы получить этот статус, нужно пройти тест из 7 задач на сертификацию пользователя.

Имена файлов и путь установки

Путь установки не должен быть длиннее 36 символов, включая обязательное окончание \Temper\ (добавляется автоматически, вписывать его самому не нужно). Лучше ставить программу в корень диска C или D; если нужна папка — так, чтобы общий путь укладывался в 36 символов и не содержал специальных символов. Например, C:\My_Programs_New\Temper\ — это 26 символов, подходит; а C:\My_Programs_New\Последние программы\Temper\ — уже 46, не подходит.

Регистр букв в пути значения не имеет (MS-DOS и унаследовавшая её файловую систему Windows не различают строчные и прописные). А вот в именах файлов расчёта русские буквы и спецсимволы недопустимы: только латиница и цифры, длина имени — не более 15 символов. Желательно использовать уникальные имена файлов, по крайней мере в течение одного дня.

Установщик Temper-3D 6.14.04 с предупреждением «Путь не должен быть длиннее 36 символов»
Рис. 1. Сообщение при слишком длинном пути установки

Создание архива для отправки

Архив для отправки на сервер создаётся программой 7z — бесплатной и достаточно компактной по сравнению с zip, rar, arj и другими форматами. Если архив не создаётся, возможно, не установлена 64- или 32-битная версия 7z, соответствующая разрядности вашей ОС (в папке WORK есть только 32-битная реализация, 7z.exe и 7.dll). Узнать разрядность ОС в Windows 7 можно через «Пуск» → правый клик на «Компьютер» → «Свойства»:

Контекстное меню «Компьютер» с пунктом «Свойства»
Рис. 2. Свойства компьютера

Окно «Просмотр основных сведений о вашем компьютере» с указанием разрядности ОС
Рис. 3. Результат — разрядность ОС

Скачать 7z можно с www.7-zip.org, но лучше не ставить самую свежую версию: сервер разработчика распаковывает архивы установленной у него, более старой версией программы, и слишком новый архив может не открыться.

Отправка на сервер и почтовые настройки

Если дискретизация, задание условий, расчёт и создание архива проходят нормально, а отправка на сервер — нет, дело обычно в портах SMTP и IMAP, которые зависят от почтового провайдера. По умолчанию настройки рассчитаны на mail.ru (сервер входящей почты IMAP.mail.ru, исходящей — smtp.mail.ru — общие для mail.ru, list.ru, bk.ru, inbox.ru). Если почта на gmail.com, yandex.ru или другом сервисе, нужные значения (SMTP, PORTSMTP, IMAP, PORTIMAP) правятся в обычном текстовом файле Temper6_14_04.INI — их стоит уточнить у своего системного администратора или у разработчика; в офисах с прокси и файрволом настройка тоже на стороне администратора. Как временное решение архив можно отправить вручную по почте — только с ящика, зарегистрированного в реестре легальных пользователей.

Пока сервер считает: сроки, статус, спам

Если ответ с сервера долго не приходит, стоит проверить по очереди:

  • не истекла ли лицензия — срок указан в mnm последнего успешного расчёта;
  • не занят ли сервер другой задачей, и не требует ли сама задача много времени (иногда 30 минут и больше);
  • задачи, идущие на сервере дольше 20–40 минут, снимаются администратором автоматически, о чём придёт сообщение в mnm:
Превышен лимит времени на расчет.  Задача снята администратором!
    Дата   расчета - 10.12.2018
    Начало расчета - 2:18:17 Файл:  test1.7z
    Конец расчета  - 2:38:28
    Время расчета  - 0:20:11

В этом случае повторно отправлять ту же задачу не нужно — для проверки, что сервер вообще отвечает, лучше отправить простой расчёт (например, кубик). Если и на него нет ответа больше часа, стоит написать разработчику, не ставя в очередь новые задачи.

Отдельно: повторная отправка расчёта с тем же именем перезаписывает предыдущий — выполнится только последняя версия, поэтому удобнее добавлять к имени порядковый номер (test1, test2…), пока результат не получен. И ещё одна частая причина «тишины»: сервер рассылает много писем с архивами во вложении и почти без текста в теле — почтовые сервисы нередко принимают это за спам. Стоит проверить папку «Спам» на письма от temperserver08@gmail.com и один раз пометить их «Не спам» — дальше почта будет приходить во «Входящие» как обычно.

Обновление файлов между версиями

Если mnm сообщает о необходимости обновления, это не значит, что старый расчёт некорректен — все версии программы считают верно, просто новые исправляют отдельные неточности. Если расчёт выполнялся на сервере, версия клиента не влияет на корректность: если в mnm нет предупреждений о некорректном расчёте — всё в порядке. Но пока файл не обновлён до версии, установленной на сервере, тепловые потоки в mnm не выводятся — это сделано, чтобы пользователи переходили на последнюю, более точную версию.

    1
-.254152E+02   .199046E+02
    Дата расчета  – 21:12:2018
    Начало расчета – 11:56:40 Файл: ns5.7z
    Конец расчета  – 11:56:44
    Время расчета  – 0:0:20
    Оставшийся суточный лимит времени – 1:3:0  Расчетов: 25
    Дата окончания лицензии – 01.01.2020
    Параметр измельчения –    2
    Актуальные версии на сайте (Modeler=6.14.04 Temper=6.14.04)
    Вы используете версии (Modeler=6.14.03 Temper=6.14.03)
    Произведите бесплатное обновление (http://www.temper3d.ru)
    Искажения nar=( 2.24) vn=(  3.26) C
--------------------------------------------------
         .
Chsumm=5E10D08C

Обновление делается так: открыть старый файл в последней версии Modeler и заново сохранить объём по каждой подконструкции без изменений в разбиении (либо, что рекомендуется, воспользоваться автоматической сборкой, начиная с первой подконструкции); затем открыть файл в последней версии Temper6, нажать «Расчёт» и создать архив — его уже можно отправлять на сервер:

Окно Temper6 с раскрашенной конструкцией и сообщением «Данные на сервер отправлены»
Рис. 4. Подтверждение отправки на сервер

Если кнопка отправки недоступна, архив отправляется на сервер вручную. Отдельно: в папке Control_Summ лежат файлы с ожидаемыми размерами исполняемых файлов — их стоит сверить с реальными размерами файлов, установленных на вашем компьютере.

Типичные ошибки при открытии и чтении файлов

Прежняя версия. Здесь описана работа в версии 6.12.84/6.12.86 (окна Modeler6_12/Temper6_12); в действующей 6.14.04 порядок действий и вид окон отличаются — актуальное описание в разделе «Программа».

Рассинхронизация lam/tip. Ошибки ввода-вывода чаще всего означают, что файлы характеристик материалов (lam) и граничных условий (tip) не соответствуют текущему разбиению — например, если геометрию поменяли в Modeler уже после того, как условия были заданы в Temper6.

Temper6_12_84
Access violation at address 32609BB4 in module 'CC3260MT.DLL'. Write of address 12001208.
Modeler6_12_86
Access violation at address 32609BEC in module 'CC3260MT.DLL'. Read of address 000001AA.

Стоит открыть файл в Temper5, чтобы убедиться, что геометрия сама по себе корректна. При ошибке чтения:

Temper6_14_04
id=8621 Errors read file= C:\Temper\WORK\test405.TIP

нужно вручную удалить одноимённые файлы lam и tip — ошибка исчезнет, но характеристики и условия придётся задать заново. Если ошибка возникает в Modeler при открытии конкретного файла (например, omsk_1.k0), значит, ошибочен именно он — его можно заменить или создать заново; в Modeler вообще открываются только файлы k0…k99.

Разделитель дробной части. Если при открытии файла в Temper6_14_04 появляется ошибка, скорее всего в Windows в качестве разделителя целой и дробной части установлена точка, а программе нужна запятая:

Temper6_12_86
'22,000' is not a valid floating point value.

Меняется это в Windows 7 через Панель управления → Смена раскладки клавиатуры → Дополнительные параметры:

Диалоги Windows «Язык и региональные стандарты» → «Настройка формата», поле «Разделитель целой и дробной части»
Рис. 5. Смена разделителя дробной части

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

    1
-.272706E+02   .128640E+02
    Дата расчета  – 21:12:2018
    Начало расчета – 12:14:29 Файл: test1.7z
    Конец расчета  – 12:15:01
    Время расчета  – 0:0:32
    Оставшийся суточный лимит времени – 1:29:28  Расчетов: 30
    Дата окончания лицензии – 01.01.2020
    Параметр измельчения –   -1 (  5000   50% 1.50 с   .50 мм)
              Ошибка дискретизации, наложение точек     34

Chsumm=22E1F915

Либо

Errors 25667 Расчет не выполнен.
v 6.14.04(415) 07.01.2024
Checksumm=83F423B2

Стыковку в этом случае нужно провести вручную (не кнопкой автоматической сборки), проверив, что подконструкции в месте стыка полностью идентичны — одинаковое число узлов и конечных элементов. Эту же ошибку можно заметить заранее, внимательно осмотрев конструкцию со всех сторон в режиме задания граничных условий: линии на границе нигде не должны обрываться —

Просмотр конструкции со всех сторон в режиме задания граничных условий: кружками отмечены места обрыва линий разбиения
Рис. 6. Обрыв линий на стыке подконструкций

если разрывов на границе нет, не будет их и внутри. При исправлении меняется общая топология конструкции (число узлов и элементов), поэтому граничные условия и характеристики материалов придётся задавать заново — или воспользоваться модулем Fill_06.exe из папки WORK, который переносит коэффициенты теплопроводности из старого (ошибочного) файла в новый; инструкция по модулю.

Диагностика: в каком модуле проблема

Прежняя версия. Здесь описана работа в версиях до 6.14.03; в действующей 6.14.04 порядок действий и вид окон отличаются — актуальное описание в разделе «Программа». Начиная с версии 6.14.03 такие места находит автоматическое измельчение сетки, и держать одновременно открытыми Modeler6/Temper6/Temper5 для их ручного поиска не требуется.

Сообщение «высокие искажения дискретизации» означает, что сетка конечных элементов слишком грубая: если погрешность превышает 3–6, тепловые потоки в mnm не выводятся. Начиная с версии 6.14.03 эту работу берёт на себя автоматическое измельчение — оно сгущает сетку там, где температурное поле заметно отличается от линейного. Найти такие места помогает режим «Погрешность» в Temper5; подробнее — в статье «Расчёт МКЭ ограждающих конструкций», где по таблице соотношения реальной и дискретизационной погрешности видно, что для реальной погрешности 0,05–0,1°C искажения дискретизации не должны превышать 1°C.

Для сложных конструкций из 10–100 и более подконструкций разработчик рекомендует собирать модель постепенно, а не «на удачу»: держать открытыми Modeler6, Temper6 и Temper5 одновременно; закончив дискретизацию очередной подконструкции (по порядку, без «дырок» — например, снизу вверх по оси Z), сохранить объём и сразу же просмотреть результат в Temper6 (не задавая и не сохраняя при этом характеристики и условия) —

Modeler6_12_86
Ok id=324 Сформирована объемная Подконструкция nz=216 kel=125 kels=150 ng=20

— и только убедившись, что конструкция выглядит единым целым без «дыр», переходить к следующей подконструкции. При проблеме — «Новый объём» в Modeler и сборка заново.

Если расчёт вдруг стал считать некорректно: лучше написать разработчику (со скриншотами), чем позвонить, и предварительно проверить обновления на сайте. Стоит также перепроверить теорию на заведомо исправном файле (например, pps03) или на простом кубе — и определить, какой именно модуль работает не так: дискретизация (Modeler6), задание граничных условий (Temper6) или просмотр результатов (Temper5).