Единицы измерения и автоматические преобразования единиц измерения
Конвертация единиц измерения позволяет подключить физическую единицу к вали. Для каждого вычисления с этой единицей в бэк-энде будет автоматически выполняться необходимое преобразование. В качестве основы для этого используется библиотека Pint. На рисунке
Преобразование единиц измерения - значения автоматически преобразуются порталом Requirements & Systems Portal путем применения различных единиц измерения, префиксов и суффиксов
Кроме того, вы можете задать формулу $vali3 = $vali1 + $vali2$vali1 = 10 metervali2 = 100 cmyd12.030 yd
Работа с единицами измерения в валиках и формулах
Создание вали
При создании нового вали (числового значения или формулы) есть два важных поля свойств:
-
Формула и Единица (обязательные)
-
Для числовых значений (например, 50 кг) это поле должно содержать значение и единицу измерения
-
Для формул (например, $wheel1.mass+$wheel2.mass) единица измерения получается в результате вычисления.
-
-
Единица отображения (необязательно - если поле пустое, единица отображения будет основана на единицах из поля "Формула и единица")
В таблице ниже показано ожидаемое поведение при создании Vali в зависимости от различных опций создания:
Поле формулы и единицы измерения |
Отображение поля единиц измерения |
Ожидаемое поведение |
|---|---|---|
числовое значение без единиц измерения |
без единицы |
создается безразмерная величина |
числовое значение без единицы измерения |
единица |
предупреждение о размерности единицы на Vali |
числовое значение и указанная единица измерения |
без единицы |
создается значение с указанной единицей измерения и отображается в единицах измерения из поля Формула и единица измерения |
числовое значение и указанная единица измерения |
единица |
создается значение с указанной единицей измерения и отображается в единице измерения из поля Отображать единицу измерения (единицы измерения |
формула (единицы измерения не требуются) |
без единицы |
единица отображения будет автоматически рассчитана по формуле |
формула (единица измерения не требуется) |
единица |
результат формулы будет отображаться в единицах отображения (единицы |
формула и пользовательская единица измерения |
без единицы |
|
формула и пользовательская единица измерения |
единица |
|
Вали с типом |
фиксированный |
единица измерения будет автоматически взята из единицы типа (впоследствии ее можно будет изменить, если вы останетесь в пределах той же размерности) |
Изменение единиц измерения
Поле единицы отображения
Поле "Единица отображения" всегда можно изменить, если единица отображения совпадает с действительным преобразованием из используемой (или рассчитанной с помощью формул) единицы из поля "Формула и единица". В случае несоответствия размерности портал Requirements & Systems Portal укажет на это восклицательным знаком и сообщением на экране Vali.
При изменении единицы отображения на то, что является допустимым преобразованием (например. smsm/skm/s100 s = 100 000 ms
Поле формулы и единицы измерения
Если вали - это просто числовое значение (не формула), вы можете изменить единицу измерения, например, с ms100 s100 m
Формулы
Если вали имеет формулу, формула определяет ожидаемую единицу измерения в зависимости от используемых переменных. Вы можете выбрать отображение значения в любой единице (с помощью поля "Единица отображения"), которая является корректным преобразованием единицы, указанной в формуле. Изменение единицы отображения с m/skm/sm/sm
Безразмерные величины
Безразмерные значения можно использовать при умножении и делении, но не при сложении и вычитании со значениями, имеющими единицу измерения, поскольку единицы измерения будут несовместимы. Все величины, имеющие единицу измерения, должны сохраняться как величины с единицей измерения (в поле "Формула и единица измерения") и использоваться в качестве параметров в формулах (это означает, что не следует использовать "магические" числа).
Единицы, которые не распознаны ("неопределенные единицы"), также считаются безразмерными.
Неопределенные единицы
Существует отдельная настройка, позволяющая использовать неопределенные единицы. Если эта настройка включена (настройка по умолчанию), можно добавлять единицы, которые не поддерживаются, но при этом будет создано предупреждение. Если эта настройка отключена, то невозможно задать вали неопределенные единицы.
Изменение единиц валитипа
Единица валитипа может быть изменена только на другую единицу, имеющую ту же размерность, что и исходная единица. Это изменение не повлияет на существующие вали этого типа, но новые вали, созданные с помощью этого вали, будут иметь новую единицу.
Требования и наихудшие случаи
Требования (минимальные/максимальные значения) и наихудшие случаи всегда отображаются в той же размерности, что и единица измерения вали. Если единица измерения изменена, требования и наихудшие случаи также будут пересчитаны в соответствии с выбранной единицей измерения.
Поддерживаемые единицы и константы
Requirements & Systems Portal поддерживает все единицы измерения и преобразования по умолчанию, определенные в библиотеке Pint, а также константы по умолчанию.
При работе с единицами измерения в Requirements & Systems Portal следует учитывать следующее:
-
Единицы и префиксы чувствительны к регистру. Например, килограмм всегда должен быть "kg" и никогда "Kg" или "KG". Пожалуйста, имейте в виду библиотеку единиц измерения Pint Library, если вы работаете с единицами измерения и не уверены в их написании.
-
Час сокращенно обозначается как "h" или "hr". 'h' нельзя использовать для обозначения постоянной Планка, для этого следует использовать 'planck_constant'
-
Евро и доллар поддерживаются как единицы измерения, и их конвертация была зафиксирована на уровне 1 EUR = 1.123 USD (эта конвертация может быть изменена в панели администратора в соответствии с текущей экономикой). Они сокращенно обозначаются как 'EUR' или 'евро' и 'USD' и 'доллар' соответственно
-
'dB' не отображается на 'decibarn', как это было бы в списке единиц по умолчанию, а отображается на свою собственную безразмерную единицу 'decibel'. Другие логарифмические единицы (например, дБВт) считаются неопределенными единицами и обрабатываются так же, как и безразмерные единицы. Автоматическое преобразование между линейной и логарифмической шкалой (например, дБВт в Вт) не предусмотрено
-
Для единиц измерения температуры используйте градусы Цельсия, градусы Фаренгейта и градусы К (или здесь также просто К)
Будьте внимательны при использовании автоматического преобразования для значений температуры. Температура является "неумножаемой" единицей и имеет некоторые особенности поведения, которые более подробно описаны в документации по Pint.
Можно использовать следующие префиксы:
yocto- = 1e-24 = y- зепто- = 1e-21 = z- атто- = 1е-18 = а- фемто- = 1e-15 = f- пико- = 1e-12 = p- нано- = 1e-9 = n- микро- = 1e-6 = u- = µ- милли- = 1e-3 = m- санти- = 1e-2 = c- деци- = 1e-1 = d- дека- = 1е+1 = да- = дека гекто- = 1e2 = h- кило- = 1e3 = k- мега- = 1e6 = M- гига- = 1e9 = G- тера- = 1e12 = T- пета- = 1e15 = P- экса- = 1e18 = E- zetta- = 1e21 = Z- yotta- = 1e24 = Y-
kibi- = 2^10 = Ki- mebi- = 2^20 = Mi- gibi- = 2^30 = Gi- tebi- = 2^40 = Ti- pebi- = 2^50 = Pi- exbi- = 2^60 = Ei- zebi- = 2^70 = Zi- yobi- = 2^80 = Yi-
Можно использовать любую комбинацию префикса и единицы измерения, например, ks = kiloseconds1 kilosecond = 1000 seconds
Неподдерживаемые единицы
Использование операторов в качестве единиц измерения не поддерживается. Например %, -, &, $, #, °%50% = 0.550
Пользовательские единицы
Администраторы могут определять пользовательские единицы измерения на

Администраторы могут добавлять новые пользовательские единицы, нажав на значок + или "Добавить пользовательскую единицу"