Unidades e Conversões Automáticas de Unidades
A conversão de unidades permite-lhe associar uma unidade física a um Vali. Em cada cálculo com este Vali, a conversão necessária será efetuada automaticamente no back-end. A biblioteca Pint library é utilizada como base para isto.
O exemplo abaixo mostra como 50 kg são automaticamente convertidos em 110,23 libras (lbs), uma vez que o Formula and unit campo contém 50kg mas o Display unit é lbs.
Os prefixos e os sufixos também são aplicados automaticamente, como exemplificado ao converter o Display unit do Vali de Massa de kg para g no exemplo abaixo.
Além disso, pode especificar uma fórmula $vali3 = $vali1 + $vali2 utilizando $vali1 = 10 meter e vali2 = 100 cm. Se definir o Display unit de vali3 para yd (jarda), terá este resultado automaticamente calculado e convertido: 12.030 yd. Se não especificar uma Display unit para vali3, será calculada automaticamente uma unidade (neste caso, seria metro ou centímetro).
Tratamento de unidades em Valis e fórmulas
Criar um Vali
Ao criar um novo Vali (valor numérico ou fórmula), existem dois campos de propriedade importantes:
-
Formula and unit (obrigatório)
-
Para valores numéricos (por exemplo, 50 kg), este campo tem de conter o valor e a unidade.
-
Para fórmulas (por exemplo, $wheel1.mass+$wheel2.mass), a unidade resulta do cálculo.
-
-
Display unit (opcional – se estiver vazio, a unidade de apresentação será baseada nas unidades do campo Formula and unit).
A tabela abaixo mostra um resumo do comportamento esperado para a criação de Vali, dependendo das diferentes opções de criação.
| Campo Fórmula e Unidade | Campo Unidade de apresentação | Comportamento esperado |
|---|---|---|
| valor numérico e sem unidade | sem unidade | É criado um valor adimensional. |
| valor numérico e sem unidade | unidade | Aviso de dimensão da unidade no Vali. |
| valor numérico e uma unidade especificada | sem unidade | É criado um valor com a unidade especificada e apresentado na unidade do campo Formula and unit. |
| valor numérico e uma unidade especificada | unidade | É criado um valor com a unidade especificada e apresentado na unidade do campo Display unit (as unidades must correspondem). |
| uma fórmula (não é necessária unidade) | sem unidade | O Display unit será calculado automaticamente a partir da fórmula. |
| uma fórmula (não é necessária unidade) | unidade | O resultado da fórmula será apresentado na Display unit (as unidades must correspondem). |
| uma fórmula e uma unidade personalizada | sem unidade |
|
| uma fórmula e uma unidade personalizada | unidade |
|
| Vali com um tipo | fixo | A unidade será automaticamente obtida a partir da unidade do tipo (é possível alterá-la posteriormente, desde que se mantenha dentro da mesma dimensionalidade). |
Alterar unidades
Campo Unidade de apresentação
É sempre possível alterar o campo Display unit, desde que a unidade de apresentação corresponda a uma conversão válida da unidade utilizada (ou calculada através de fórmulas) do campo Formula and unit. Se existir uma incompatibilidade de dimensão, o Requirements Portal indicará isso com um ponto de exclamação e uma mensagem no Vali.
Quando a unidade de apresentação é alterada para algo que seja uma conversão válida (por exemplo, s para ms ou m/s para km/s), o Vali será recalculado e apresentado na unidade correspondente após a conversão, por exemplo, 100 s = 100 000 ms.
Campo Fórmula e Unidade
Se um Vali for apenas um valor numérico (não uma fórmula), pode alterar a unidade, por exemplo, de m para s. O Vali passará a ser 100 s em vez de 100 m. No entanto, se após a alteração a unidade de apresentação não corresponder dimensionalmente, o Requirements Portal indicará uma incompatibilidade de dimensão, e a unidade de apresentação terá de ser ajustada.
Fórmulas
Se um Vali tiver uma fórmula, a fórmula determina a unidade esperada em função das variáveis utilizadas. Pode optar por apresentar o valor em qualquer unidade (utilizando o campo Display unit) que seja uma conversão válida da unidade da fórmula. Alterar a unidade de apresentação de m/s para km/s apresentará o valor em conformidade. É possível alterar a unidade de apresentação de m/s para m, mas o Requirements Portal indicará um problema de dimensão da unidade.
Valores adimensionais
Os valores adimensionais podem ser utilizados em multiplicações e divisões, mas não em adições e subtrações com valores que tenham uma unidade, porque as unidades não serão compatíveis. Todos os Valis que tenham uma unidade devem ser guardados como valores com unidade (no campo Formula and unit) e utilizados como parâmetros em fórmulas (ou seja, não devem ser usados números “mágicos”).
As unidades que não são reconhecidas (“unidades indefinidas”) também são consideradas adimensionais.
Unidades indefinidas
Está disponível uma definição separada para permitir a utilização de unidades indefinidas. Se esta estiver ativada (predefinição), é possível adicionar unidades que não são suportadas, mas será criado um aviso. Se estiver desativada, não é possível atribuir uma unidade indefinida a um Vali.
Alterar unidades de Valitype
Uma unidade de um Valitype só pode ser alterada para uma unidade diferente que tenha a mesma dimensionalidade da unidade original. Esta alteração não afetará quaisquer Valis existentes desse tipo, mas os novos Valis criados com este Valitype terão a nova unidade.
Requisitos e piores casos
Os requisitos (valores mín./máx.) e os piores casos são sempre apresentados na mesma unidade que a unidade do Vali. Se a unidade for alterada, os requisitos e os piores casos também serão recalculados para corresponder à unidade selecionada.
Unidades e constantes suportadas
O Requirements Portal suporta todas as unidades e conversões predefinidas definidas na biblioteca Pint, bem como as constantes predefinidas.
Ao trabalhar com unidades no Requirements Portal, tenha em atenção o seguinte:
-
As unidades e os prefixos distinguem maiúsculas de minúsculas. Por exemplo, quilograma deve ser sempre
kge nuncaKgouKG. Tenha presente a Pint Library ao trabalhar com unidades, caso tenha dúvidas sobre a utilização de maiúsculas e minúsculas. -
Hora é abreviada como
houhr.hnão pode ser utilizado para representar a constante de Planck; para isso deve ser utilizadoplanck_constant. -
Euro e dólar são suportados como unidades, e a sua conversão foi fixada em 1 EUR = 1,123 USD (esta conversão pode ser alterada no Painel de Administração para corresponder à economia atual). São abreviados como
EURoueuroeUSDedollarrespetivamente. -
dBnão corresponde a “decibarn”, como aconteceria na lista de unidades predefinida, mas sim à sua própria unidade adimensional “decibel”. Outras unidades logarítmicas (por exemplo, dBW) são consideradas unidades indefinidas e, por isso, são tratadas da mesma forma que as unidades adimensionais. Não está prevista conversão automática entre escalas lineares e logarítmicas (por exemplo, dBW para W). -
Para unidades de temperatura, utilize
degC,degFedegK(ou aqui também apenasK).
Podem ser utilizados os seguintes prefixos:
-
Prefixos decimais:
yocto- = 1e-24 = y- zepto- = 1e-21 = z- atto- = 1e-18 = a- femto- = 1e-15 = f- pico- = 1e-12 = p- nano- = 1e-9 = n- micro- = 1e-6 = u- = µ- mili- = 1e-3 = m- centi- = 1e-2 = c- deci- = 1e-1 = d- deca- = 1e+1 = da- = deka hecto- = 1e2 = h- quilo- = 1e3 = k- mega- = 1e6 = M- giga- = 1e9 = G- tera- = 1e12 = T- peta- = 1e15 = P- exa- = 1e18 = E- zetta- = 1e21 = Z- yotta- = 1e24 = Y-
-
Prefixos binários:
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-
Qualquer combinação de prefixo e unidade pode ser utilizada, por exemplo, ks = kiloseconds, uma vez que tanto o prefixo como a unidade estão definidos (1 kilosecond = 1000 seconds).
Unidades não suportadas
Não é suportada a utilização de operadores como unidades. Por exemplo, %, -, &, $, #, °. Estes Valis serão tratados como adimensionais. Por exemplo, a unidade % não será tratada como uma percentagem (50% = 0.5), mas sim como o valor bruto (50).
Unidades personalizadas
Os administradores podem definir unidades personalizadas (as que não estão definidas na biblioteca Pint) na página Settings – Custom Units (acedida clicando no ícone
no canto inferior esquerdo, selecionando Settings no menu apresentado e, em seguida, selecionando Custom Units da lista no painel esquerdo). Para criar uma nova unidade personalizada, clique no botão
no canto superior direito e defina as unidades com base nas unidades existentes na biblioteca Pint.