🚀 Auto-deploy: BrainWind atualizado em 13/07/2026 15:00:47

This commit is contained in:
2026-07-13 15:00:47 +00:00
parent 314c9b7490
commit ab8f89e807
11 changed files with 567 additions and 10 deletions
+41
View File
@@ -0,0 +1,41 @@
import { bilinearInterp } from '../bilinear-interp';
/**
* Tabela 28 — Fator de proteção η para estruturas reticuladas múltiplas
* (Pórticos paralelos).
* NBR 6123:2023 (correspondente à antiga Tabela 8).
*
* Linhas: Índice de solidez (φ)
* Colunas: Distância relativa (e/h ou e/b)
*/
const PHI = [0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 1.0] as const;
const EH = [0.5, 1.0, 2.0, 4.0, 8.0] as const;
const ETA_DATA: ReadonlyArray<ReadonlyArray<number>> = [
// e/h = 0.5, 1.0, 2.0, 4.0, 8.0
[ 1.00, 1.00, 1.00, 1.00, 1.00 ], // φ = 0.1
[ 0.90, 1.00, 1.00, 1.00, 1.00 ], // φ = 0.2
[ 0.80, 0.90, 1.00, 1.00, 1.00 ], // φ = 0.3
[ 0.60, 0.80, 1.00, 1.00, 1.00 ], // φ = 0.4
[ 0.45, 0.70, 1.00, 1.00, 1.00 ], // φ = 0.5
[ 0.30, 0.60, 1.00, 1.00, 1.00 ], // φ = 0.6
[ 0.30, 0.60, 1.00, 1.00, 1.00 ], // φ = 1.0 (mantido para saturação)
];
/**
* Retorna o fator de proteção η.
* @param phi Índice de solidez (0 a 1)
* @param eh Razão entre a distância e a menor dimensão ortogonal ao vento (e/h ou e/b)
*/
export function getEtaTable28(phi: number, eh: number): number {
return bilinearInterp(
{
xs: EH as unknown as number[],
ys: PHI as unknown as number[],
values: ETA_DATA as unknown as (readonly number[])[],
},
eh,
phi
);
}