# 🌍 PLANO ARQUITETURAL DE EXPANSÃO: NORMAS INTERNACIONAIS DE VENTO & BENCHMARKING MULTI-NORMA > **Documento de Visão Técnica, Segurança Arquitetural e Roadmap Futuro** > **Projeto:** VentoApp / BrainWind — Engenharia de Vento Avançada > **Estado Atual (Julho/2026):** Domínio completo da NBR 6123:2023 (100% coberta, 36 tabelas, testes unitários travados, visualizador 3D interativo, cálculo puro determinístico). --- ## 1. A Visão e O Sonho Técnico Transformar o **BrainWind / VentoApp** em mais do que o melhor software brasileiro de cálculo de ações do vento: elevá-lo ao status de **Plataforma de Auditoria e Benchmarking Internacional de Engenharia de Vento**. O objetivo é permitir que engenheiros estruturais, peritos e pesquisadores possam: 1. Projetar estruturas segundo normas internacionais (**Eurocode 1 — EN 1991-1-4**, **ASCE 7-22 — EUA**, **AS/NZS 1170.2 — Austrália/Nova Zelândia**). 2. Confrontar em **tempo real e lado a lado** os esforços gerados pela **NBR 6123:2023** contra 2, 3 ou 4 normas mundiais simultaneamente para a mesma geometria. 3. Entender com clareza aerodinâmica e visual onde cada norma é mais conservadora ou mais econômica. --- ## 2. A Premissa Sagrada: Proteção do "Coração Intocável" (NBR 6123:2023) O maior risco de softwares estruturais em expansão é a **regressão funcional** — quebrar o que já está estável, testado e confiável para acomodar novos requisitos. Para que esse risco seja **ZERO**, estabelecemos o seguinte pacto arquitetural: ### 2.1. Princípio Aberto-Fechado (SOLID — *Open-Closed Principle*) * O código atual de cálculo da NBR 6123 (`src/lib/nbr-tables/`, `src/lib/modules/`, `src/lib/wind-kernel.ts`) permanece **estritamente fechado para modificações**. * Nenhuma rotina, tabela ou constante existente da NBR 6123 precisará ou deverá ser editada para acomodar uma norma estrangeira. * Toda nova norma será implementada como um **pacote independente e isolado** em diretórios dedicados (`src/lib/eurocode-tables/`, `src/lib/asce-tables/`, `src/lib/standards-drivers/`). ### 2.2. NBR 6123 como Padrão Intocável (*Default Root*) * Ao iniciar o aplicativo ou carregar um projeto brasileiro, o motor rodará exclusivamente no fluxo nativo da NBR 6123, preservando a experiência de uso de 100% dos engenheiros brasileiros sem latência ou burocracia adicional de parâmetros internacionais. --- ## 3. Arquitetura de "Drivers Normativos" (`StandardStrategy`) Para desacoplar a geometria do modelo físico de cálculo, elevamos a arquitetura para o padrão **Strategy Driver**: ``` ┌──────────────────────────────────────────────┐ │ MODELO GEOMÉTRICO CANÔNICO (CORE) │ │ (b, d, h, θ, Permeabilidades, Topografia) │ └──────────────────────┬───────────────────────┘ │ ┌───────────────────────┴───────────────────────┐ ▼ ▼ ▼ ┌─────────────────────┐ ┌─────────────────────┐ ┌─────────────────────┐ │ Driver NBR 6123 │ │ Driver Eurocode 1 │ │ Driver ASCE 7-22 │ │ (NBR6123Driver) │ │ (EN1991_1_4Driver) │ │ (ASCE7_22Driver) │ └──────────┬──────────┘ └──────────┬──────────┘ └──────────┬──────────┘ │ │ │ ▼ ▼ ▼ Tabelas NBR (36) Tabelas EN 1991-1-4 Tabelas ASCE 7-22 (Rajada de 3 seg) (Média de 10 min) (Rajada + Fator Kz) ``` ### 3.1. Conciliação Físico-Atmosférica (Fator de Durst & Tempos de Base) As normas mundiais diferem no tempo de média da velocidade do vento de referência: * **NBR 6123 e ASCE 7-22:** Baseiam-se na velocidade de **rajada de 3 segundos**. * **Eurocode 1 (EN 1991-1-4):** Baseia-se na velocidade **média de 10 minutos**. * **Solução:** O motor canônico integrará conversores espectrais normatizados (ex.: **Fator de Durst / Curvas de Cook**) que permitem transacionar velocidades de 10 minutos para rajadas de 3 segundos com precisão matemática, colocando todas as normas na **mesma base física real de energia cinética do fluxo**. --- ## 4. O Segredo de UX: Mapeamento Inteligente e "Tradução Normativa" Para que o usuário **não precise preencher 4 cadastros inteiros** só para ver um comparativo, o sistema dividirá os parâmetros de entrada em duas camadas: ### 4.1. Camada 1: Parâmetros Universais (Canônicos) Comuns a 100% das estruturas no planeta: * **Geometria:** Largura ($b$), Vão/Comprimento ($d$), Altura dos pilares ($h$), Inclinação da cobertura ($\theta$). * **Física:** Percentual de fechamento de paredes ($0\%$ a $100\%$), velocidade base de projeto ($m/s$). ### 4.2. Camada 2: Tradutor Automático de Padrões (*Default Mapping Adaptor*) Quando o engenheiro projeta um galpão com dados brasileiros, o **Tradutor Normativo** infere automaticamente as propriedades correspondentes nas outras normas em segundo plano: * *Categoria de Terreno IV (Brasil) $\longrightarrow$ Terrain Category III (Eurocode 1) $\longrightarrow$ Exposure Category C (ASCE 7).* * *Classe de Edificação B (Brasil) $\longrightarrow$ Fator de Pico / Altura equivalente.* ### 4.3. Gaveta de Ajustes Normativos Específicos (*Overrides*) Para engenheiros peritos que desejam refinar parâmetros exclusivos de uma norma estrangeira sem alterar a geometria global, a interface disponibilizará um painel retrátil **"Ajustes Normativos Específicos"**: * **Exemplo ASCE 7:** Permite alterar manualmente a *Enclosure Classification* (`Enclosed`, `Partially Enclosed`, `Partially Open`, `Open`) e o fator de altitude acima do nível do mar ($K_e$). * **Exemplo Eurocode 1:** Permite ajustar a densidade do ar em função de temperatura e altitude em locais específicos da Europa. --- ## 5. Isolamento e Blindagem de Arquivos Salvos (`Project Schema`) Para evitar mistura de referências ou corrupção de dados: 1. **Atributo `standard` Obrigatório no Schema JSON:** Todo arquivo salvo conterá explicitamente a norma de origem: ```json { "id": "galpao-logistico-01", "standard": "NBR6123_2023", "version": "2.0.0", "geometry": { "width": 20, "depth": 40, "height": 8, "theta": 15 }, "parameters": { "v0": 45, "s1": 1.0, "s2Category": 4, "s2Class": "B", "s3": 1.0 } } ``` 2. **Guarda de Carregamento (*Schema Guard*):** Ao abrir um arquivo, o app identifica a chave `"standard"`. Se um arquivo do Eurocode for aberto por engano, a interface avisará o usuário, trocando o contexto visual para as tabelas e símbolos correspondentes sem sobrescrever o projeto brasileiro. --- ## 6. O Módulo de "Benchmarking Lado a Lado" (Comparativo em Tempo Real) Como cada cálculo estrutural de vento executado em TypeScript puro roda em **menos de 2 milissegundos**, o aplicativo é capaz de executar **4 motores em paralelo em tempo real** sempre que o usuário mover um slider. ### 6.1. Tabela de Confronto Direto (`kN/m²` e `kN`) Uma tela dedicada que coloca frente a frente: * **Pressão Efetiva Crítica e Força Total:** Por zona do telhado, paredes frontais/traseiras e esforços na base do pilar. * **Mapa de Conservadorismo (Cores Críticas):** Destacando automaticamente em **Vermelho** a norma que exige a maior carga de projeto (mais conservadora) e em **Verde** a mais branda para cada elemento estrutural. ### 6.2. Gráficos de Delta Percentual ($\Delta\%$) Gráficos de barra em SVG/Recharts mostrando os deltas em tempo real: * *Exemplo de insight automático:* "Para esta inclinação de $15^\circ$, a **ASCE 7-22** prescreve forças de sucção nos cantos do telhado **+14,2% maiores** que a **NBR 6123**, enquanto o **Eurocode 1** fica **-5,8% menor**." ### 6.3. Modelo 3D Interativo Multi-Norma (*Split-Screen / Toggle*) * Opção de **Abas Instantâneas no topo do 3D:** (`[ NBR 6123 ] [ Eurocode 1 ] [ ASCE 7-22 ]`). Clicar na aba altera na hora o mapa de cores de pressão na geometria 3D. * **Modo Tela Dividida (*Split-Screen*):** Corta o modelo 3D ao meio, mostrando do lado esquerdo o gradiente de pressões da NBR 6123 e do lado direito o gradiente da norma comparada. --- ## 7. O "Selo de Garantia": Bateria de Testes contra a Literatura Estrangeira Para que qualquer norma estrangeira receba o selo de confiança técnica do **BrainWind**, ela deverá ser aprovada em uma suíte de testes unitários (`Vitest` em `src/lib/__tests__/standards/`) travada contra exercícios de referência consagrados: | Norma | Fonte Literária Oficial para Travamento de Testes Unitários | | :--- | :--- | | **ASCE 7-22 (EUA)** | • *Guide to the Wind Load Provisions of ASCE 7-22* (ASCE / SEAOC)
• *SEAOC Structural/Seismic Design Manual — Wind Examples* | | **Eurocode 1 (EN 1991-1-4)** | • *ECCS — Designers' Guide to EN 1991-1-4 (Eurocode 1)*
• *JRC Technical Reports (European Commission) — Steel & Wind Design* | | **AS/NZS 1170.2 (Aus/NZ)** | • *Australian Guide to the Wind Loading Standard AS/NZS 1170.2* (Engineers Australia) | ### 7.1. Testes de Invariância Aerodinâmica Além do teste dos exemplos numéricos, a suíte rodará **testes de invariância relacional**: * Em qualquer das 4 normas, a face de barlavento **sempre** deve resultar em sobrepressão positiva. * O topo da cumeeira de telhados em duas águas **sempre** deve registrar pico de sucção na separação de escoamento. * O alívio aerodinâmico em abrigos com abertura superior **sempre** deve reduzir o arrancamento vertical. --- ## 8. Roadmap de Execução Recomendado ``` [ FASE ATUAL ] ──► CONSOLIDAÇÃO TOTAL NBR 6123:2023 (100% Norma, 100% Testes, UI/3D Impecável) │ ▼ [ FASE FUTURA 1 ] ──► Criação da Camada "StandardStrategy" (Isolada, sem mexer no Core NBR) │ ▼ [ FASE FUTURA 2 ] ──► Driver Eurocode 1 (EN 1991-1-4) + Testes de Bancada ECCS / JRC │ ▼ [ FASE FUTURA 3 ] ──► Driver ASCE 7-22 (EUA) + Testes de Bancada ASCE Guide / SEAOC │ ▼ [ FASE FUTURA 4 ] ──► Lançamento da Tela "Benchmarking Lado a Lado & Auditoria Multi-Norma" ``` > **Conclusão:** Seguindo este plano, mantemos nossa estabilidade 100% blindada e criamos uma das mais avançadas e respeitadas ferramentas de engenharia de vento da América Latina e do mundo.