97 lines
2.4 KiB
TypeScript
97 lines
2.4 KiB
TypeScript
/**
|
||
* Tabela 31 — Parâmetros γ e ξ para a determinação de efeitos
|
||
* dinâmicos (NBR 6123:2023, sec. 9.3.1).
|
||
*
|
||
* Fonte: NBR 6123:2023, p. 62 (Tabela 31).
|
||
* Última auditoria: 2026-07-08 — auditado e condizente com a norma.
|
||
*/
|
||
|
||
export interface DynamicStructureParams {
|
||
/** Expoente γ do modo fundamental */
|
||
gamma: number;
|
||
/** Taxa de amortecimento crítico ξ (em %) */
|
||
xiPercent: number;
|
||
/** Fórmula para frequência aproximada (Hz) */
|
||
freqFormula: string;
|
||
}
|
||
|
||
export const TABLE_31: readonly DynamicStructureParams[] = [
|
||
{
|
||
gamma: 1.2,
|
||
xiPercent: 2.0,
|
||
freqFormula: 'f₁ ≈ 0,05 + 0,015/h (h em m)',
|
||
},
|
||
{
|
||
gamma: 1.0,
|
||
xiPercent: 2.0,
|
||
freqFormula: 'f₁ ≈ 0,05 + 0,015/h',
|
||
},
|
||
{
|
||
gamma: 2.7,
|
||
xiPercent: 1.5,
|
||
freqFormula: 'f₁ ≈ 0,02·h (h em m)',
|
||
},
|
||
{
|
||
gamma: 1.7,
|
||
xiPercent: 1.0,
|
||
freqFormula: 'f₁ ≈ 0,015·h',
|
||
},
|
||
{
|
||
gamma: 1.2,
|
||
xiPercent: 1.0,
|
||
freqFormula: 'f₁ ≈ 0,20/h − 0,04',
|
||
},
|
||
{
|
||
gamma: 1.7,
|
||
xiPercent: 0.8,
|
||
freqFormula: 'f₁ ≈ dependente da estrutura',
|
||
},
|
||
{
|
||
gamma: 0,
|
||
xiPercent: 3.0,
|
||
freqFormula: 'f₁ ≈ dependente da estrutura',
|
||
},
|
||
] as const;
|
||
|
||
export type StructureDynamicType =
|
||
| 'portal-concrete'
|
||
| 'concrete-shearwall'
|
||
| 'concrete-tower-variable'
|
||
| 'concrete-tower-uniform'
|
||
| 'steel-welded'
|
||
| 'steel-tower-uniform'
|
||
| 'wood';
|
||
|
||
export function getDynamicParams(type: StructureDynamicType): DynamicStructureParams {
|
||
const idx: Record<StructureDynamicType, number> = {
|
||
'portal-concrete': 0,
|
||
'concrete-shearwall': 1,
|
||
'concrete-tower-variable': 2,
|
||
'concrete-tower-uniform': 3,
|
||
'steel-welded': 4,
|
||
'steel-tower-uniform': 5,
|
||
wood: 6,
|
||
};
|
||
return TABLE_31[idx[type]];
|
||
}
|
||
|
||
/**
|
||
* Estimativa simplificada da frequência fundamental f₁ (Hz) para edifícios.
|
||
* f₁ = γ · h / ... (Tabela 31 fornece fórmulas por tipo)
|
||
*/
|
||
export function estimateFundamentalFrequency(type: StructureDynamicType, height: number): number {
|
||
switch (type) {
|
||
case 'portal-concrete':
|
||
case 'concrete-shearwall':
|
||
return 0.05 + 0.015 / height;
|
||
case 'concrete-tower-variable':
|
||
return 0.02 * height;
|
||
case 'concrete-tower-uniform':
|
||
case 'steel-tower-uniform':
|
||
return 0.015 * height;
|
||
case 'steel-welded':
|
||
return Math.max(0.5, 0.2 / height - 0.04);
|
||
case 'wood':
|
||
return 0.5;
|
||
}
|
||
} |