Skip to main content
Glama

Arc Flash Platform — Estudos Elétricos

Montar rede multibarra e calcular Icc em todas as barras (IEC 60909)

montar_rede
Read-only

Monta uma REDE MULTIBARRA (concessionária e/ou gerador → transformadores → cabos → quadros) e calcula o curto-circuito IEC 60909 em TODAS as barras de uma vez, pelo mesmo algoritmo da plataforma (redução nodal do Anexo B: aceita alimentação radial, em paralelo e malha), que reproduz o exemplo publicado da IEC TR 60909-4. Use quando o usuário tem os dados de VÁRIOS equipamentos (típico de quem acabou de ler uma folha de dados, uma carta da concessionária ou um memorial antigo), em vez de chamar calcular_curto_circuito (que é de UM ponto) várias vezes.

Devolve também projeto_json: o arquivo de projeto da plataforma com a rede inteira. Entregue esse conteúdo ao usuário para salvar como .json e abrir no Workspace da plataforma (app.estudoseletricos.com/workspace/, botão "Abrir"). A rede aparece nas tabelas para ele CONFERIR e seguir para coordenograma, arco elétrico e memorial. Nenhum valor extraído de documento deve virar laudo sem essa conferência humana.

── barras: lista de objetos ──────────────────────────────────────────────── {"id": "SE_BT", "label": "Subestação 480 V", "Vn_kV": 0.48} id é o identificador único (sem espaços é mais seguro); Vn_kV é a tensão NOMINAL da barra em kV (0,48 = 480 V). A barra de conexão com a concessionária é a que NÃO recebe nenhum elemento (nenhum to_id aponta para ela): é ela a raiz da rede. Cada raiz tem de ser uma FONTE: a concessionária ou a barra de um gerador.

── elementos: lista de objetos (o que liga uma barra à outra) ────────────── element_type "transformer": {"from_id","to_id","element_type":"transformer", "Sn_kVA":1000,"Vcc_pct":5.0,"Pcu_W":10000,"XR_trafo":null,"Rn_ohm":null} Sn e Vcc são de PLAQUETA e obrigatórios (>0). Pcu_W = perdas no cobre; XR_trafo (opcional) sobrepõe o X/R estimado por Pcu. Modelado como Dyn (delta na alta, estrela na baixa). Rn_ohm = resistor de aterramento do NEUTRO de baixa (NGR), em Ω: ausente = neutro SÓLIDO, e a resposta avisa que foi assumido. Com NGR a fase-terra cai em ordem de grandeza: SEMPRE informe quando a instalação tiver. tipo_aterramento (opcional) aceita 'solido' ou 'resistivo' (este exige Rn_ohm), como no calcular_curto_circuito; 'isolado' é RECUSADO aqui (neutro isolado não é modelado na rede multibarra). O aterramento é do TRANSFORMADOR, nunca da fonte. element_type "cable" (ou "busbar"): {"from_id","to_id","element_type":"cable", "secao_mm2":95,"material":"Cu","comprimento_m":40,"num_conductors":1} Liga barras de MESMA tensão (para mudar de tensão use "transformer"). Opcionais do cabo: R_km/X_km (Ω/km do fabricante) e as razões de SEQUÊNCIA ZERO k0_r = R(0)/R(1) e k0_x = X(0)/X(1); ausentes, as da CONSTRUÇÃO quando secao_pe_mm2 vem (a seção do condutor de proteção, PE ou PEN; n_pe PEs em paralelo, ausente = um por cabo; material_pe 'Cu'/'Al', ausente = o da fase; laço fase-PE do CLC/TR 50480), senão 4,0 e 3,0 (padrão não normativo). Só mudam a fase-terra e a bifásica-terra, nunca o arco. isolacao ('PVC', 'EPR', que inclui o HEPR, ou 'XLPE') decide a temperatura de fim de curto da corrente MÍNIMA (NBR 5410 Tab. 35: PVC 160 °C, 140 °C acima de 300 mm², EPR/XLPE 250 °C); ausente, 160 °C. element_type "reactor": {"from_id","to_id","element_type":"reactor", "u_kR_pct":6,"I_rR_A":400} (reator limitador, §6.5; u_kR e I_rR de plaqueta)

── fonte: a contribuição da concessionária (omita na rede só com gerador) ── {"Vn_kV":13.8, "Scc_MVA":500, "XR":10, "Icc_1ph_kA":0, "XR_1ph":0} Informe Scc_MVA OU Icc_kA (não os dois). Vn_kV é a tensão do ponto de conexão. §7.1.2 d): use a contribuição MÁXIMA declarada pela concessionária, não a de hoje, porque dimensionar pelo valor de hoje subdimensiona o equipamento quando a rede reforça. Icc_1ph_kA/XR_1ph são opcionais (0 = estimar Z0). Icc_min_kA (opcional): a corrente trifásica MÍNIMA que a concessionária declara (modo de operação de menor curto, ≤ a máxima). Sem ela, a corrente mínima é a da IEC 60909 §7.1.2 sobre a mesma fonte da máxima. A resposta a ecoa em fonte_minima_declarada_kA.

── motores (opcional): contribuição de motores por barra ────────────────── {"bus_id":"QD-01","P_kW":75,"n_motores":4,"cos_phi":0.85,"rendimento":0.92, "Xd_sub_pu":0.17}

── geradores (opcional): gerador SÍNCRONO como fonte (IEC 60909-0 §6.6.1) ── {"bus_id":"GMG","label":"GMG-01","Sn_kVA":360,"xd2_pu":0.15,"cos_phi":0.8, "x0_pu":0.08,"aterramento":"solido"} Sn_kVA e xd2_pu (x″d SATURADA, em pu: 15 % = 0,15) são da folha de dados e obrigatórios; cos_phi atribuído (ausente = 0,8); U_rG_kV (ausente = a tensão da barra; a mais de 10 % dela é recusa: com elevador, o transformador é elemento da rede). Entra Z_GK = K_G·(R_Gf + jX″d), com o K_G da Fórmula (18) na corrente máxima e R_Gf = 0,15·X″d em BT (0,07 ou 0,05 em MT). x0_pu é o x(0) do gerador ATERRADO, da folha de dados; ausente, vale o típico de 0,06 pu (CLC/TR 50480 §6.3.3; a resposta avisa); no resistivo o caminho soma o resistor. aterramento: 'solido' · 'resistivo' (com Rn_ohm, o resistor do neutro, em Ω) · 'isolado'. Rede SÓ com gerador (o grupo de emergência): omita fonte, e a barra do gerador é a raiz. Com concessionária e gerador em paralelo, o curto soma os dois e a resposta ecoa cada gerador em geradores (K_G e Z_GK, para conferir à mão). Sem decaimento: Ik = Ik″.

── cenarios (opcional): os cenários de OPERAÇÃO da instalação ───────────── [{"nome":"Normal","fontes":["concessionaria"],"abertas":[["GMG","QTA"]]}, {"nome":"Emergência","fontes":["GMG"],"abertas":[["DG_CARGA","QTA"]]}] Cada um diz as fontes em serviço ('concessionaria' e as barras com gerador; ausente = todas) e os elementos abertas ([DE, PARA] ou "DE→PARA"), como a transferência normal × emergência ou o disjuntor de interligação aberto. A barra que nenhuma fonte em serviço alcança fica desenergizada no cenário. A resposta traz o curto de cada um em operacoes; no Workspace, a energia incidente de cada barra é a do cenário de MAIS energia, com o nome dele. Sem cenários, a rede é a desenhada.

── estudo (opcional): opções do estudo de arco que o projeto leva ───────── {"banda_padrao":"norma", "t_sem_atuacao_ms":2000, "base_ibf":"pior_caso"} Todas nascem DESLIGADAS (ausentes ou null) e não mudam o curto calculado aqui: vão no projeto_json para o Workspace estudar o arco com elas. banda_padrao "norma" = ±20 % na instantânea do disjuntor termomagnético sem banda declarada (IEC 60947-2). t_sem_atuacao_ms = tempo máximo de arco (> 0 e ≤ 2000 ms) para a barra cuja proteção não vê a falta. base_ibf "pior_caso" = cada barra também com a corrente MÍNIMA, ficando a de mais energia (NBR 17227 §4.2.1.3); "nominal" = a energia com a corrente em TENSÃO NOMINAL (c = 1,0 no ponto de falta, sem K_T), FORA da máxima da IEC 60909 §7.1.2 e dita no memorial, com t_cabo_C (°C, −40 a 250) para os cabos dela (ausente = a de cada cabo; só vale com "nominal"). primeiro_a_abrir true = onde a proteção de cima abre antes da local na corrente de arco (falta seletividade), a energia usa o tempo de quem abre primeiro; ausente = o da local, o conservador (a barra é avisada nos dois casos). Valor fora disso é erro de forma. A resposta ecoa estudo.

Erro de FORMA (campo faltando, valor não-numérico) e erro de FÍSICA (tensões que não casam num cabo, trafo sem Sn/Vcc, duas alimentações para a mesma barra) voltam em {"erro": ...} explicando o que corrigir, e nada é calculado "pela metade". Gratuito (uso limitado).

Input Schema

NameRequiredDescriptionDefault
langNopt
fonteNo
barrasYes
estudoNo
api_keyNo
motoresNo
cenariosNo
elementosYes
geradoresNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed7 schema fields changed
    • addedInput schema / properties / cenarios
      Added value: +{
      +  "anyOf": [
      +    {
      +      "items": {
      +        "additionalProperties": true,
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "title": "Cenarios"
      +}
    • removedInput schema / properties / fonte / additionalProperties
      Removed value: -true
    • addedInput schema / properties / fonte / anyOf
      Added value: +[
      +  {
      +    "additionalProperties": true,
      +    "type": "object"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • addedInput schema / properties / fonte / default
      Added value: +null
    • removedInput schema / properties / fonte / type
      Removed value: -"object"
    • addedInput schema / properties / geradores
      Added value: +{
      +  "anyOf": [
      +    {
      +      "items": {
      +        "additionalProperties": true,
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "title": "Geradores"
      +}
    • changedInput schema / required
      Previous value: -[
      -  "barras",
      -  "elementos",
      -  "fonte"
      -]New value: +[
      +  "barras",
      +  "elementos"
      +]
  2. Changed1 schema field changed
    • addedInput schema / properties / estudo
      Added value: +{
      +  "anyOf": [
      +    {
      +      "additionalProperties": true,
      +      "type": "object"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "title": "Estudo"
      +}
  3. Added

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only declare readOnlyHint=true; the description adds substantial context beyond that: error taxonomy ('erro de FORMA' vs 'erro de FÍSICA' returning {"erro": ...}, nothing computed 'pela metade'), assumption disclosures (neutro sólido assumed if Rn_ohm absent, x0_pu default 0.06 with a warning), refusal cases, and cost ('Gratuito (uso limitado)').

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Section dividers and front-loaded purpose make a very long description navigable, and nearly every clause carries real semantics. It is nonetheless close to the ceiling of practical length, and the optional `lang` / `api_key` params get no mention at all, so a small amount of space goes unused.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description still names key response fields (projeto_json, operacoes, geradores with K_G/Z_GK, fonte_minima_declarada_kA, estudo) and the delivery instruction for the .json file. It stops short of describing the full Ik result structure per bar, which is the only remaining gap for a tool of this complexity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% and all 9 params are untyped objects, so the description must carry the full burden — and it does, documenting field-by-field semantics for barras, elementos (transformer/cable/reactor), fonte, motores, geradores, cenarios and estudo. It even explains derived behaviour (k0_r/k0_x defaults, isolacao deciding NBR 5410 end-of-short-circuit temperature).

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource at a specific scope: 'Monta uma REDE MULTIBARRA ... e calcula o curto-circuito IEC 60909 em TODAS as barras de uma vez', and explicitly contrasts with the sibling 'calcular_curto_circuito (que é de UM ponto)'. An agent can distinguish the two without opening either schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives an explicit trigger ('quando o usuário tem os dados de VÁRIOS equipamentos ... folha de dados, carta da concessionária ou memorial antigo') and names the alternative it replaces. Adds when-not/exclusion guidance ('isolado' é RECUSADO aqui) and a workflow requirement (conferência humana antes de laudo).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources