Файл с результатами решения (новый формат)

Файл REZER предназначен для сохранения результата вычислений системы ФРУНД в режиме использования MPI.

Хранимая информация

Этот файл хранит следующие данные:

  • информацию о телах:
    • положение,
    • скорость,
    • ускорение,
    • матрица поворота;
  • информацию о соединительных элементах:
    • FIXME

Структура файла

Заголовок файла

В следующей таблице приводится информация об элементах заголовка данного файла.

Элемент заголовка Тип Количество
Размер заголовка в байтах int 1
Количество тел int 1
Количество соединительных элементов int 1
Шаг расчета по времени double 1
Последовательность1) номеров тел int Количество тел
масок степеней свободы
и матрицы поворота
short

Кадры

Кадр состоит из двух областей:

  1. область тел,
  2. область соединительных элементов.

Подробное описание

Файлы с результатами нового формата являются бинарными и обычно имеют наименование REZER.

Новый формат файлов с результатами решения построен по схожим принципам, что и старый.

Содержимое файла

Содержимое файла можно разделить на 2 основные части:

Заголовок

Заголовок включает в себя следующие поля:

  • длина заголовка (тип Integer);
  • количество тел (тип Integer);
  • количество соединительных элементов (тип Integer);
  • шаг между двумя моментами времени, соответствующими соседним кадрам (тип double);
  • последовательность пар «номер тела — маска» (оба числа в паре имеют тип Integer), при этом эта последовательность отражает реальное расположение информации о телах в кадре;
  • последовательность пар «номер соединительного элемента — маска» (оба числа в паре имеют тип Integer), эта последовательность также отражает расположение соединительных элементов в кадре.
Маска тела

В маске тела используются последние 7 бит:

  • Единица в 6-ом бите служит признаком наличия у тела матрицы поворота. Наличие матрицы поворота означает хранение 9 вещественных чисел — элементов матрицы поворота.
  • Биты 5 – 0 содержат признаки наличия соответствующих степеней свободы (номер степени свободы на единицу больше номера бита). Наличие любой из степеней свободы означает хранение 3 вещественных чисел (вдоль данной степени свободы):
    1. перемещения,
    2. скорости,
    3. ускорения.

Таким образом, на тело в кадре может приходиться от 3 до 27 вещественных чисел, или от 12 до 108 байт.

Маска соединительного элемента

В маске соединительного элемента используются только последние 6 бит. Организация этих бит аналогична организации бит 5 – 0 в маске тела. Однако наличие одной степени свободы означает хранение в кадре 4 вещественных чисел — параметров соединительного элемента, поэтому на один соединительный элемент может приходиться от 4 до 24 вещественных чисел (или от 16 до 96 байт).

Последовательность кадров

После окончания заголовка в файле идет последовательность кадров.

В каждом кадре сначала записана информация, относящаяся к телам (в том порядке, как они были перечислены в заголовке), а затем — информация, относящаяся к соединительным элементам (также порядок следования сохраняется, как в заголовке).

1) Последовательность указывает, в каком порядке идут данные о телах в каждом кадре, и сколько степеней свободы имеет каждое тело (битовая маска). Зная порядок тел и размер, занимаемый телом в заголовке, можно вычислить смещение до любого тела. FIXME
 
rezer.txt · Последние изменения: 2011/12/01 18:30 — 172.16.6.213
 
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki