🚀 Auto-deploy: BrainWind atualizado em 29/07/2026 12:00:49

This commit is contained in:
2026-07-29 12:00:49 +00:00
parent fde885ca60
commit a30125c7ce
21 changed files with 932 additions and 210 deletions
+16
View File
@@ -102,6 +102,22 @@ export function calculateIsolatedGableRoof(input: IsolatedGableRoofInput): Isola
};
}
/**
* Cobertura isolada em V (Borboleta).
* Extrapolação baseada na inversão geométrica das duas águas.
* A NBR 6123 não possui tabela explícita, portanto applies = false.
*/
export function calculateIsolatedButterflyRoof(input: IsolatedGableRoofInput): IsolatedGableRoofResult {
const base = calculateIsolatedGableRoof(input);
return {
// Barlavento (descendo): forte sucção no bordo de ataque
cpb: { cpb1: -Math.abs(base.cpa.cpa1), cpb2: -Math.abs(base.cpa.cpa2) },
// Sotavento (subindo): atua como uma barreira, sofrendo pressão
cpa: { cpa1: Math.abs(base.cpb.cpb1), cpa2: Math.abs(base.cpb.cpb2) },
applies: false,
};
}
/** Força de atrito na cobertura isolada: F = 0,05 · q · a · b (sec. 7.2.2) */
export function frictionForceIsolatedRoof(q: number, a: number, b: number): number {
return Number((0.05 * q * a * b).toFixed(3));