Unidade 10 / 11

Automação de cálculo de engenharia com Python

Ganhos:

  • Capacidade de automatizar cálculos de engenharia, gerenciamento de unidades e processamento de dados com código Python baseado em IA
  • Capacidade de validar código de IA com verificação de unidade, testes de resultados conhecidos e casos extremos
  • Capacidade de adquirir o hábito de produzir documentos de contas repetíveis, rastreáveis e com versão controlada

Na engenharia mecânica, o mesmo cálculo é feito repetidamente: tensões de uma família de peças, potência da bomba para vários pontos de operação, tabelas de propriedades em diferentes temperaturas. Fazer isso manualmente é lento e sujeito a erros. Python (uma linguagem de programação fácil de aprender com bibliotecas ricas para engenharia) automatiza essas iterações; Isso torna a conta repetível, rastreável e controlada por versão. Inteligência artificial (IA) Python é incrivelmente rápido na geração de código: converter uma fórmula em uma função, adicionar gerenciamento de unidades, ler dados, traçar gráficos. Mas há um equívoco perigoso aqui: só porque o código funciona sem erros não significa que ele seja calculado corretamente. O código AI pode retornar silenciosamente resultados incorretos devido à conversão incorreta de unidades, fórmula incorreta ou em casos extremos, e o programa continuará a ser executado sem erros. É por isso que todo código de engenharia produzido com IA; As entradas de teste com resultados conhecidos não são confiáveis ​​sem verificação por verificação de unidade (tamanho) e testes de casos extremos. Nesta unidade, você aprenderá como configurar com segurança a automação de contas Python com IA.

Por que codificar conta? Rastreabilidade e Reprodutibilidade

Um cálculo manual é único; Quando uma entrada é alterada, isso é feito do zero e as etapas intermediárias são perdidas. O cálculo feito em código é como um documento: entradas, fórmulas e resultados são claramente escritos; você altera uma entrada e obtém um novo resultado em segundos; Com o controle de versão (como o git), "o que calculei com qual valor em qual data" pode ser rastreado. Isto é inestimável em termos de controlo e responsabilização. Mas esse poder depende da correção do código; Um código errado produz o resultado errado, também de forma reproduzível e rápida.

Dica: Escreva um teste para cada função de computação com um resultado verdadeiro conhecido próximo a ela (assert em Python). Por exemplo, sua função de tensão deve fornecer 28,1 MPa em uma amostra conhecida. Este teste avisa imediatamente se você quebrar alguma coisa ao alterar o código no futuro. O código de engenharia que não foi testado é uma conta não verificada.

Gerenciamento de volume: fonte de erro mais comum

No código de engenharia, a maioria dos erros vem de unidades: N com kN, m com mm, Pa com MPa, que podem ser confundidas por um fator de 1.000 ou 1.000.000. Existem duas defesas. A primeira é a disciplina: escolher um único sistema de unidades desde o início (por exemplo, N, mm, MPa) e converter todas as entradas para ele e adicionar unidades aos nomes das variáveis ​​(comprimento_mm, força_N). A segunda é a ferramenta: uma biblioteca como pint carrega as unidades dentro do código e captura a operação inconsistente como um erro.

Abordagem

Como funciona

Vantagem

Disciplina de nomenclatura

como força_N, comprimento_mm

Simples, sem dependências

sistema de unidade única

Todos convertidos para N-mm-MPa

Simplicidade, velocidade

biblioteca de cerveja

Move unidade por variável

Detecta automaticamente inconsistências

Teste de resultado conhecido

referência com afirmação

Captura erro de fórmula/unidade

Cuidado: Uma conversão de unidade pode estar faltando ou incorreta no código gerado pela IA e o código ainda “funcionará”. Por exemplo, se o diâmetro for mm e a área prevista for m², o resultado se desviará 1.000.000 de vezes, mas o programa não apresentará erro. Antes de executar o código, comente as unidades das entradas e saídas; em seguida, forneça o resultado com um exemplo conhecido.

Passo a passo: código de conta verificável por IA

  1. Esclareça o problema e o sistema de unidades. Entradas, saídas, unidades.
  2. Gere a função. Único responsável, interpretativo, unido.
  3. Adicione testes de resultados conhecidos. Afirme com exemplo de referência.
  4. Experimente casos extremos. Entrada zero, negativa, muito grande/pequena.
  5. Faça uma verificação de unidade. A unidade de produção corresponde ao esperado?
  6. Documento e versão. Premissas, fonte, data; rastreabilidade com git.

Prompt que gera funções e testes

Função: Desenvolvedor Python experiente escrevendo cálculos de engenharia. Tarefa: Escreva uma função que calcule a tensão de flexão máxima em uma viga cantilever de seção transversal retangular. Entrada: F (N), L (mm), b (mm), h (mm). Saída: sigma (MPa).Convenção: Sistema de unidades N-mm-MPa; comente a unidade de cada entrada.Regra: use I = b*h^3/12 e sigma = M*c/I; comente os passos.Regra: Adicione um teste com RESULTADO CONHECIDO: sigma ~28,1 MPa para F=500,L=300,b=20,h=40; Verifique com assert (pequena tolerância).

Alerta de status da borda

Adicione verificações de casos extremos à função acima: - Se b, h ou L forem zero ou negativos, forneça um erro significativo (aumente ValueError). - Comente se houver um problema de estouro/precisão com entradas muito grandes/pequenas. Adicione também mais 3 entradas de teste diferentes e escreva o resultado esperado; explicar os resultados de uma forma que eu possa verificá-los manualmente.

Alerta de segurança da unidade (pint)

Unidade segura na mesma conta com a biblioteca 'pint'. Deixe as entradas serem definidas em unidades (por exemplo, 500 * ureg.newton). Converta a saída para MPa e imprima-a. Adicione um pequeno exemplo mostrando como pint falha quando recebe uma entrada com a unidade errada.

Solicitação de verificação de código

Critique meu código de cálculo de engenharia abaixo de uma perspectiva de revisão de código, não concorde comigo. Em particular: a conversão da unidade está correta, a fórmula está correta, os casos extremos (zero, negativo) foram considerados, os testes são verdadeiramente confirmatórios? Para cada descoberta, escreva como corrigi-la.[código]

Alerta Fraco/Prompt Forte

Alerta fraco:

Escreva o código Python para cálculo de estresse.

Sem escolha de unidades, fórmulas, definições de entrada e testes; A IA gera código que funciona, mas não é verificado e cuja unidade é desconhecida.

Alerta poderoso:

Escreva a função de tensão de flexão na viga cantilever. Insira F(N), L(mm), b(mm),h(mm); sigma de saída (MPa). Sistema N-mm-MPa, especifique cada unidade no comentário. Adicione um teste com resultados conhecidos (F=500, L=300, b=20, h=40 → ~28,1 MPa, assert). Fornece um erro na entrada zero/negativa. Interprete casos extremos.

O segundo prompt requer o sistema de unidades, fórmula, entradas, teste e casos extremos; Isso torna o código verificável.

Três mini-casos (por números)

Caso 1 – Erro de volume silencioso. O cálculo da área produzido pela IA pega o diâmetro em mm e dá mm² com pi*d**2/4, mas a próxima linha coloca em uma fórmula que espera m²; O código funciona sem erros e apresenta estresse 1.000.000 de vezes menor. Quando o engenheiro executa o teste com um resultado conhecido (assert abs(sigma-28.1)<0,5), o teste explode e o erro é detectado. Se não houvesse teste, o resultado errado teria entrado despercebido no relatório. Lição: código funcional ≠ código correto.

Caso 2 – Falha no estado de borda. No código que faz o loop para uma família de peças, a espessura h=0 é inserida em uma linha; Quando I = b*h**3/12 = 0, sigma = M*c/I fornece um erro de divisão por zero. Graças ao controle if h<=0: raise ValueError adicionado pela IA, o código para com uma mensagem significativa e não produz inf silenciosamente. Lição: lide com casos extremos de antemão.

Caso 3 – Ganho de repetibilidade. Um engenheiro levou meio dia para calcular manualmente a potência da bomba para 40 pontos operacionais diferentes. Escrito em IA, o script lê o CSV, calcula a potência de cada linha e verifica um ponto conhecido com assert, reduzindo o trabalho para aproximadamente 2 minutos e gravando os resultados em um arquivo rastreável. Quando uma entrada é alterada, toda a tabela é atualizada a cada segundo. Lição: a automação verificada é rápida e confiável.

Erros comuns

  • Falácia "Funcionou = correto": pensar que o código que funciona sem erros está correto.
  • Não escrever testes: Confiar em código sem um teste de referência com resultado conhecido.
  • Ambigüidade de unidade: Deixar as unidades de entrada/saída sem interpretação, ignorando a conversão.
  • Ignorando casos extremos: erro silencioso ou falha na entrada zero/negativa.
  • Não documentar a fonte/suposição: Não anotar a fonte e a suposição da fórmula utilizada.
  • Sem controle de versão: Deixar a conta como um arquivo único sem torná-la rastreável (git).

Em resumo

  • Python torna a computação de engenharia repetível, rastreável e controlada por versão.
  • A IA é muito rápida na geração de código; Mas o fato de o código funcionar sem erros não significa que ele calcule corretamente.
  • Cada código deve ser validado por meio de testes de resultados conhecidos, verificação de unidade e casos extremos.
  • Os erros de unidade são a fonte de erro mais frequente e mais insidiosa; Defenda por sistema de unidade única, nomenclatura ou litro.
  • A automação validada economiza tempo e dá confiança; O código não verificado é perigoso.

Tarefa de aplicativo

Escolha um cálculo de engenharia recorrente (como tensão, potência da bomba, carga térmica). Escreva uma função Python para a IA que faz esse cálculo; Comente a unidade de cada entrada e saída e adicione um teste de afirmação com um resultado conhecido. Faça o teste e veja se passa. Em seguida, faça mais duas verificações: tente um caso extremo (entrada zero ou negativa) para verificar se o código retorna um erro significativo e forneça manualmente a unidade da saída em um exemplo. Se possível, tenha também uma versão segura para a unidade produzida em litros. Por fim, adicione as suposições do cálculo, a origem da fórmula e a data ao código como um título curto e escreva por que esse código ainda requer aprovação do engenheiro.

lista de verificação

  • [ ] As unidades de entrada e saída estão claramente documentadas no código; sistema de unidade única foi escolhido.
  • [] Um teste (assert) com um resultado conhecido foi adicionado e aprovado.
  • [] Pelo menos um caso extremo (zero/negativo) foi tentado; O código deu um erro significativo.
  • [] A unidade de saída foi fornecida por um exemplo manual (não assumindo "funcionou = correto").
  • [ ] Fonte da fórmula, premissas e data anotadas no código.
  • [ ] Conta mantida rastreável/rastreada; a aprovação final foi deixada para o engenheiro.