Communitygithub.com

test1card/femis-skill

Uma habilidade para agente Claude que transforma um agente de codificação de IA em um analista FEM/CAE disciplinado: governa reivindicações de engenharia com portões de modo de execução, independência de malha GCI e V&V em Ansys, Abaqus, Nastran, OpenFOAM, COMSOL. Camada de governança, não um driver de solver.

O que é femis-skill?

Esta habilidade para agentes de IA (como Claude Code) estabelece uma camada de governança rigorosa para análise por elementos finitos (FEM) e engenharia assistida por computador (CAE), atuando como um guardião de qualidade que decide se um resultado de simulação pode ser considerado confiável, em vez de conduzir diretamente os solvers. Ela define quatro modos de execução — SMOKE (fumaça), DEBUG, ENGINEERING (engenharia) e SIGNOFF (aprovação final) — cada um com portões obrigatórios que determinam o que um agente pode reivindicar. A habilidade impõe práticas profissionais como verificação de independência de malha (via GCI), verificação de singularidades, checagem de balanço de forças, e validação contra critérios nominais. Ela suporta múltiplas plataformas de solver (Ansys, Abaqus, Nastran, OpenFOAM, COMSOL, etc.) e requer um executor emparelhado (como PyMAPDL ou um driver MCP) que realmente executa as simulações. A habilidade também define um contrato agente-vs-humano, especificando quais operações podem ser totalmente automatizadas (AGENT-HEADLESS), quais exigem intervenção humana (HUMAN-GUI ou HUMAN-JUDGMENT), e quais são limitadas por licenças (LICENSE-GATED). Uma verificação pré-reivindicação abrangente garante que nenhum número de engenharia seja relatado sem a devida proveniência e verificação.

Funciona com✓Claude Code~Codex CLI~Cursor
npx skills add test1card/femis-skill

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

FEM / CAE — estrutural · térmico · CFD · multifísico

Esta habilidade governa reivindicações de engenharia — ela não aciona solvers nem aprova projetos. Ela se emparelha com um driver de solver / MCP (PyMAPDL, PyMechanical, um driver Abaqus / OpenFOAM, OASiS, um CAE MCP) que executa; esta habilidade decide se um resultado pode ser reivindicado, em que altitude, e quando um humano deve decidir.

Visão Geral

Governa a análise de elementos finitos e CAE de ponta a ponta. Emparelhado com um executor (PyMAPDL, PyMechanical, PyFluent, um driver Abaqus/OpenFOAM, um CAE MCP — veja "camada de governança, não o executor" abaixo) o executor localiza o solver instalado, constrói o deck/script, e inicia headless/batch; esta habilidade orienta e audita a idealização, lê o log para convergência, inspeciona/analisa os resultados, e impõe a prática profissional (idealização → malhamento → conexões → controles de solução → convergência → independência de malha → V&V) em cada execução. A metodologia é independente de solver; a profundidade trabalhada aqui é Ansys / Simcenter / Thermal Desktop, com abrangência em Abaqus, LS-DYNA, MSC/Simcenter Nastran, COMSOL, OpenFOAM, Fluent, CFX, STAR-CCM+, CalculiX, Code_Aster (veja references/software-landscape.md).

Princípios centrais (aplicados como portões):

  1. Nenhum resultado é confiável até que seu erro de discretização (malha/passo de tempo) seja tratado — limitado e declarado em ENGINEERING (ex. mudança no QoI do último refinamento, ou uma estimativa ZZ/SPR de malha única), totalmente demonstrado com um estudo GCI na faixa assintótica para SIGNOFF; um número de malha única relatado sem qualquer declaração de erro nunca é um resultado. Além das verificações de convergência abaixo.
  2. Convergir a Quantidade de Interesse (QoI), não o pico — picos em cantos vivos/cargas pontuais/pontas de trinca são singularidades que nunca convergem.
  3. A maioria do erro nasce no pré-processamento (idealização, CCs, conexões) — antecipe essas decisões.
  4. Verificação antes da validação; calibração ≠ validação — e um agente não deve reivindicar aprovação final sem evidência de execução.

Este SKILL.md é o roteador. A profundidade reside em references/ — carregue uma referência apenas quando seu tópico estiver em jogo.

Quando usar

  • Estrutural (estático/modal/flambagem/não linear/explicito), térmico (estacionário/transiente/radiação), CFD (RANS/LES, CHT), eletromagnetismo (baixa/alta frequência), vibroacústica/NVH, multicorpos, e multifísico acoplado (termo-mecânico, FSI, EM-térmico).
  • Falha e durabilidade: fratura / tolerância ao dano, fadiga (incl. vibração/espectral), compósitos, plasticidade / shakedown / ratcheting, flambagem e estabilidade, colisão / impacto / queda.
  • Contato, resistência térmica de contato, conexões aparafusadas/soldadas/rígidas; malhamento e independência de malha (GCI); seleção de elemento/solver/unidade.
  • Solução headless/batch e análise de resultados; otimização, calibração, identificação inversa de parâmetros / atualização de modelo.
  • V&V / UQ; subestruturação / ROM; térmica criogênica / vácuo / espacial.
  • Decidir o que um agente pode automatizar headless vs o que um humano deve fazer (próxima seção).

Não para: modelagem CAD pura ou problemas melhor resolvidos por um cálculo manual de forma fechada.

★ Contrato de capacidade do agente & headless-vs-humano

Exatamente quem faz o quê. Categorias: AGENT-HEADLESS (totalmente scriptável/batch, sem GUI) · AGENT-VIA-API (API Python/journal, precisa de uma sessão + licença) · HUMAN-GUI (deve ser interativo pelo menos uma vez) · HUMAN-JUDGMENT (decisão de engenharia que o agente não deve tomar sozinho) · LICENSE-GATED. Detalhes completos por plataforma: references/agent-automation-boundary.md.

OperaçãoClassificaçãoComo / porquê
Importação CADAGENT-VIA-APIPyMAPDL/PyMechanical/run_journal importam STEP/Parasolid
Limpeza geométrica / desbaste pesadoAGENT-VIA-API + HUMAN-JUDGMENTdesbaste/pinch scriptável; reparo complexo + o que desbastar é julgamento
MalhagemAGENT-HEADLESS (Ansys) · SEED-IN-GUI (NX)Malha PyMAPDL/PyMechanical totalmente headless; Modelos .fem/.sim do NX não resolvem em batch → semear uma vez na GUI
Criar/atribuir materialAGENT-HEADLESSscriptável em todas as plataformas; fornecer dados dependentes de T
Contatos / conexõesAGENT-HEADLESS (construção) + HUMAN-JUDGMENT (tipo)definir é scriptável; soldado vs atrito / RBE2 vs RBE3 é uma escolha de engenharia
CCs e cargasAGENT-HEADLESSscriptável; o agente não deve inventar o caso de carga
Expor parâmetros para otimizaçãoAGENT-HEADLESS (PyMAPDL *SET) · HUMAN-GUI (Workbench P#, Expressões NX, tags HEEDS)apenas PyMAPDL é livre de GUI para parametrização
Resolver (estacionário/transiente/não linear)AGENT-HEADLESS + LICENSE-GATEDansys -b, nastran.exe, tmgnx, abaqus job=, fluent -g, OpenFOAM, cfx5solve -batch, starccm+ -batch
Resolução eletromagnética (máquinas/RF/eddy)AGENT-VIA-API + LICENSE-GATEDPyAEDT (import ansys.aedt.core, non_graphical=True), batch COMSOL/getDP; portas/excitações/varreduras são configuração de engenharia
Otimização / DOE / calibraçãoAGENT-HEADLESS (PyMAPDL+SciPy, optiSLang -b, CLI HEEDS) + GUI-AUTHOR-ONCEcriar o estudo/tags na GUI uma vez, depois executar headless
Extração de resultadosAGENT-HEADLESSPyDPF, pyNastran (.op2/.f06), .odb, SINDA .out, CGNS/VTK
Imagens/plots pós-processamentoAGENT-HEADLESSpyvista off-screen, ParaView pvbatch
Correlação / atualização de modelo (MAC, pareamento de nós)HUMAN-GUIpareamento interativo de nós teste↔análise é trabalho de GUI
Criação de modelo / .sim / projeto (NX)HUMAN-GUIregistro de modelo não inicializado headless → pré-criar um seed, depois dirigi-lo
LicenciamentoLICENSE-GATEDcada instância paralela do solver consome sua própria licença

Um agente NUNCA deve fazer automaticamente: escolher idealização / elemento / tipo de contato / CC sozinho (HUMAN-JUDGMENT) · aceitar um botão de calibração fixado em sua borda de corredor físico · relatar um pico singular ou um resultado não convergido como resultado · reivindicar verificação / independência de malha / aprovação final sem a evidência da execução · realizar um push/sobrescrita irreversível sem autorização.

Emparelhamento & contrato do executor

Esta habilidade é a camada de governança, não o executor. Emparelhe-a com o que quer que acione o solver (PyMAPDL, PyMechanical, um driver Abaqus / OpenFOAM, OASiS, um CAE MCP): o executor roda; esta habilidade governa a reivindicação. Não confie em nenhuma saída de solver sem proveniência — um resultado é creditável apenas quando o executor retorna:

  • Manifesto de execução (run_manifest.json, modelo scripts/run_manifest_template.json) — a espinha dorsal da rastreabilidade (NAFEMS R0033).
  • Nome do solver + versão exata — lido do banner/-help da instalação detectada, nunca assumido.
  • Hash do deck de entrada + hash do arquivo de resultado (ex. SHA-256 do .inp/.dat/.cdb e do .rst/.rth/.op2) — vincula um número ao deck exato e ao resultado que o produziu.
  • Evidência de comando + flag — a linha de lançamento real, flags verificadas contra essa versão (regra de comandos alinhados à versão, Passo 0).
  • Espaço de trabalho isolado — um diretório de trabalho limpo; saídas escritas lá, nunca sobrescrevendo um "final" anterior sem um ponteiro superseded_by.

Um resultado sem essa proveniência é um artefato SMOKE/DEBUG na melhor das hipóteses — expresse-o como tal (references/claim-templates.md).

Modos de execução (escolha um por tarefa — define os portões obrigatórios e o que você pode reivindicar)

ModoQuando usarPortões obrigatóriosNunca
SMOKEprovar que env/deck/solve/análise rodaPasso 0; resolver completa; arquivo de resultado escrito e legívelreivindicar qualquer número de engenharia; ajustar qualquer coisa
DEBUGencontrar a causa de uma falhao único teste decisivo para o sintoma; portão de conectividade se térmicoapresentar uma solução diagnóstica como resultado
ENGINEERINGresultado utilizável + verificações de sanidadeunidades; conectividade; balanço de reações/calor/massa; convergência; extração de QoI; verificação de singularidadereivindicar aprovação final; relatar um pico singular
SIGNOFFentrega defensáveltodo ENGINEERING + independência de malha e passo de tempo (GCI, faixa assintótica) + relatório rastreável + limites de erropular qualquer portão; menosprezar incerteza

Um resultado SMOKE/DEBUG é uma verificação de pipeline/física, nunca uma conclusão de engenharia — rotule-o.

★ Auto-verificação pré-reivindicação — responda TODAS antes de declarar qualquer número de engenharia

Este é o portão que torna a habilidade confiável. Antes de digitar uma tensão, temperatura, frequência, margem, arrasto, ou "passa", responda a estas. Se alguma resposta for não / desconhecido, você não tem um resultado — você tem uma saída SMOKE/DEBUG: diga isso e pare.

  1. Modo? Em qual modo de execução estou, e seus portões obrigatórios foram aprovados? (SMOKE/DEBUG ⇒ não é uma conclusão de engenharia.)
  2. Unidades? Sistema consistente verificado (verificação de massa de 1g / cálculo manual); densidade não está corrompida?
  3. Erro de discretização tratado? Erro de malha e passo de tempo limitado e declarado (GCI para SIGNOFF; estimativa ZZ/SPR de malha única para ENGINEERING)? Um número isolado de malha única nunca é um resultado.
  4. Singularidade excluída? O QoI está em um canto / carga pontual / artefato de ponta de trinca? Leia ao redor ou linearize antes de citar.
  5. Balanço verificado? Reação = aplicada; balanço de calor/massa/energia dentro da tolerância; convergência a partir do histórico residual, não do código de saída?
  6. Tensão admissível nomeada? Existe uma margem contra um critério / código de projeto NOMEADO — não um número nu?
  7. Portão de julgamento humano cruzado? Eu escolhi silenciosamente um caso de carga, tipo de contato, admissível, desbaste, ou aprovação final? Se sim — PARE e escale (references/escalation-examples.md).

Em seguida, expresse o resultado com o modelo correspondente em references/claim-templates.md. O agente nunca reivindica aprovação final sem evidência de execução, e nunca se autoriza a tomar uma decisão de engenharia. Chamadas exatas de flags / API do solver são elas próprias uma reivindicação — confirme-as de acordo com a regra de comandos alinhados à versão no Passo 0.

Passo 0 — SEMPRE primeiro: descoberta do ambiente

Nunca assuma uma versão ou caminho. Encontre o que está instalado/licenciado, depois confirme plataforma + física + QoI.

Get-ChildItem "C:\Program Files\ANSYS Inc" -Recurse -Filter "ANSYS*.exe" -ErrorAction SilentlyContinue | Select FullName   # MAPDL/Mechanical/Fluent/CFX
Get-ChildItem "C:\Program Files\Siemens" -Recurse -Include "nastran.exe","run_journal.exe","tmgnx.cmd","ugraf.exe" -ErrorAction SilentlyContinue
Get-ChildItem "C:\Program Files" -Recurse -Filter "abq*.bat" -ErrorAction SilentlyContinue   # Abaqus; também `which icem`, OpenFOAM `foamVersion`
$env:ANSYSLMD_LICENSE_FILE; $env:LM_LICENSE_FILE
(Get-CimInstance Win32_Processor | Measure-Object NumberOfCores -Sum).Sum   # Núcleos FÍSICOS

Linux: ansysNNN -b, nastran, abaqus, simpleFoam, fluent -g; verifique $LM_LICENSE_FILE, nproc.

Regra de comandos alinhados à versão: nunca emita um comando, flag ou chamada de API do solver que você não verificou que existe na versão detectada — versões renomeiam flags e alteram APIs. Confirme contra o -help/documentos da versão instalada antes de confiar nela, especialmente para ENGINEERING/SIGNOFF.

Fluxo de trabalho canônico (execute em ordem)

  1. Objetivo + QoI — o escalar que conduz a decisão (margem, deflexão, frequência, pico de T, arrasto). Não é "rodar o modelo."
  2. Tipo de análise — estático/modal/flambagem/térmico/CFD/acoplado; linear vs não linear (material? grande deflexão? contato? turbulência?).
  3. Idealizar (mais consequente) — 1D/2D/3D; simetria apenas se geometria e cargas e CCs forem simétricos; desbastar características irrelevantes. → references/meshing-convergence.md.
  4. Materiais — modelo constitutivo correto; propriedades dependentes de temperatura; em criogênico use ∫α(T)dT. → references/material-modeling.md.
  5. Malha — ordem/família do elemento, refinamento em concentrações, portão de qualidade. → references/meshing-convergence.md.
  6. Conexões e contato. → references/mechanical-connections.md, references/thermal-contact-resistance.md.
  7. CCs e cargas — remova apenas os modos de corpo rígido apropriados para a dimensionalidade/tipo do modelo (um sólido 3D não restrito tem 6; modelos 2D, axissimétricos, apenas casca e cíclico-simétricos diferem); cargas sobre áreas realistas (nunca cargas pontuais/restrições → singularidades); alívio inercial para corpos livres. → references/advanced-methods.md.
  8. Controles de solução — tipo de solver, núcleos, subpassos + tolerâncias. → references/solver-numerics.md.
  9. Verificar — equilíbrio, independência de malha/passo de tempo, histórico de convergência. → references/vv-uq.md.
  10. Validar — vs teste / cálculo manual / benchmark NAFEMS (calibração ≠ validação).
  11. Pós-processamento e relatório — medida correta, verificação de média-vs-não-média, margens, suposições declaradas.

Unidades consistentes (escolha UM sistema; solvers são livres de unidade)

SistemaComprimentoForçaTensão/EMassaDensidade (aço)g
SI (m)mNPakg7850 kg/m³9.81 m/s²
mm-t-s (CAE comum)mmNMPatonelada7.85e-9 t/mm³9810 mm/s²

A densidade é a corruptora silenciosa: densidade com unidade errada passa na estática mas arruína todo resultado dinâmico/explicito/transiente-térmico. MAPDL /UNITS é apenas metadados. Verifique com uma verificação de massa de 1g ou uma frequência natural de cálculo manual.

Seleção de elemento & qualidade de malha (profundidade: references/meshing-convergence.md)

  • Quadrático (nós médios) para tensão/geometria curva, esp. tets — evite TET4 linear para tensão (deformação constante → muito rígido, convergência de tensão lenta; aceitável apenas como preenchimento bem longe do QoI). Linear para explícito/grande deformação. (Travamento por cisalhamento afeta quadrados/hexaedros lineares totalmente integrados em flexão — cisalhamento parasita; corrija com integração reduzida, modos incompatíveis, ou quadrático — não é o mesmo defeito da rigidez de deformação constante do TET4.) Sólidos quadráticos modernos resolvem flexão moderada com ~1 elemento através da espessura como ponto de partida (conduzido por curvatura — confirme por convergência); elementos lineares precisam de vários, e flexão crítica de precisão quer ≥2 quadráticos.
  • Casca se espessura/comprimento ≲ 1/10–1/20; sólido para tensão 3D/através da espessura; viga para esbelto. Considere sh...

Habilidades Relacionadas