Unidade 3 / 11

Simulação de Sistemas Físicos

Ganhos:

  • Capacidade de simular um sistema físico dinâmico com solucionadores como solve_ivp e verificar a validade da simulação monitorando a energia total ou a conservação do momento
  • Capacidade de distinguir artefatos numéricos da física real selecionando o tamanho do passo com um teste de convergência
  • Capacidade de testar o resultado da simulação comparando-o com situações analíticas conhecidas e estados limites físicos

Grande parte da física lida com sistemas que variam no tempo: um pêndulo oscilante, um planeta em órbita, um corpo em resfriamento, uma onda em propagação. A maioria desses sistemas é descrita por equações diferenciais – isto é, equações que relacionam a taxa de variação de uma quantidade (posição, temperatura) com a própria quantidade. Estas equações muitas vezes não têm uma solução analítica (fórmula exata); em vez disso, simulamos: mover o sistema para frente em pequenos passos de tempo e monitorar numericamente seu comportamento. Nesta unidade, você aprenderá como usar a inteligência artificial (IA) para construir código de simulação e — o mais importante — como verificar, com as leis de conservação, se a simulação reflete com precisão a física.

A ideia básica da simulação e o papel da IA

Uma simulação consiste neste ciclo: pegar o estado atual, aplicar a equação de mudança, avançar um pequeno Δt, repetir. A IA é muito rápida na construção desse loop, na escolha do solucionador certo – o algoritmo que resolve a equação diferencial passo a passo e na edição do código. A ferramenta padrão do físico é scipy.integrate.solve_ivp (a função SciPy que resolve problemas de valor inicial). Mas antes de confiar na simulação criada pela IA, a pergunta que você deve fazer é esta: Esta simulação preserva as quantidades físicas (energia, momento, momento angular) que precisam ser preservadas?

Sistema

Tipo de equação

Critérios de validação

pêndulo, mola

EDO de segundo grau

Constância da energia total

órbita do planeta

EDO gravitacional newtoniana

Momento angular + conservação de energia

Frio/calor

EDO de primeiro grau

Convergência para a temperatura de equilíbrio

decaimento radioativo

EDO exponencial

Controle de meia-vida

Monte Carlo (aleatório)

estatística

Convergência para média/distribuição conhecida

Nota: EDO significa “equação diferencial ordinária” – uma equação que envolve uma derivada em relação a uma única variável (geralmente tempo).

Passo a passo: uma simulação confiável

1. Esclareça a física e as condições iniciais. Qual é a equação do sistema? Qual é a posição inicial, velocidade, temperatura? Quais são as unidades? Forneça-os explicitamente à IA.

2. Selecione o solucionador e o tamanho do passo apropriados. Um intervalo de tempo muito grande torna a simulação instável (o resultado explode ou a física quebra); Um passo muito pequeno desacelera desnecessariamente. A IA pode sugerir, mas controla a decisão.

3. Siga a lei de conservação no código. Calcule e imprima a energia total (ou momento) ao longo da simulação. Se variar em uma magnitude que deveria permanecer constante, a simulação não é confiável.

4. Compare com uma solução conhecida. Por exemplo, o período de um pêndulo de pequena amplitude é conhecido pela fórmula T = 2π√(L/g); Compare o período dado pela simulação com este.

5. Altere o parâmetro, teste o comportamento. A oscilação é amortecida quando o atrito é adicionado? A órbita muda conforme esperado quando a massa aumenta? Teste com intuição física.

Dica: Adicione um "rastreador de energia" a cada simulação: calcule a energia total em cada etapa e represente-a como uma proporção da energia inicial. Em um sistema sem atrito, essa relação deve permanecer constante perto de 1. Um desvio de mais de 1% é um sinal de que é necessário reduzir o tamanho do passo ou alterar o solucionador.

três mini cases

Caso 1 — Explosão de energia. Um aluno simulou uma órbita planetária com um método de Euler simples (o método passo a passo mais primitivo) escrito pela IA. A órbita aumentou gradualmente ao longo do tempo e o planeta “voou para longe”. À medida que o estudante monitorizava a energia total, viu que esta aumentava constantemente – uma falha conhecida do método de Euler. Ele pediu à IA um solucionador que conservasse melhor a energia (um método mais adequado com solve_ivp) e a órbita se estabeleceu em uma elipse estável.

Caso 2 — Unidade errada, período errado. Um professor descobriu que o período era de 0,2 s numa simulação de pêndulo, mas o valor esperado era de 2 s. Ao examiná-lo, percebeu que a IA inseriu o comprimento em centímetros e o utilizou como metro na fórmula. Com correção unitária, a simulação concordou com o valor analítico de T = 2π√(L/g).

Caso 3 — Verificação de Monte Carlo. Um pesquisador pediu à IA um código que amostrasse aleatoriamente (Monte Carlo — simulação estatística com números aleatórios) partículas que atingissem um detector. Para verificar o resultado, ele executou um caso simples conhecido analiticamente (por exemplo, estimando π pela razão da área de um círculo) pelo mesmo método; Quando o código previu π corretamente, sua confiança na simulação real aumentou. Ele também observou que à medida que o número de amostras aumentava, o resultado diminuía e convergia para o valor real.

Quatro modelos copiáveis

1) Simulação monitorada pela conservação:

Escreva o código Python que simule o seguinte sistema físico com solve_ivp: [sistema, equação, condições iniciais, unidades]. Ao longo da simulação, calcule a energia total (e o momento, se houver) em cada etapa e represente graficamente sua relação com seu valor inicial ao longo do tempo. Observe que no caso sem atrito, esta relação deve permanecer constante ~1.

2) Comparação analítica:

Adicione código que compare o resultado da simulação a seguir com a solução analítica conhecida deste sistema ([fórmula]). Plote ambos no mesmo gráfico e imprima a diferença máxima entre numérico e analítico. Código de simulação: [aqui]

3) Tamanho do passo/teste de estabilidade:

Escreva o código que executa a seguinte simulação com diferentes intervalos de tempo (por exemplo, dt = 0,1, 0,01, 0,001) e mostra como os resultados mudam. Especifique após qual tamanho de passo o resultado estabiliza (converge). Código: [aqui]

4) Ensaio do estado limite físico:

Sugira 3 testes de estado limite físico para a seguinte simulação: (por exemplo, a energia deve ser conservada quando o atrito é zero, parando rapidamente quando o atrito é grande, como o período deve mudar quando a massa dobra). Escreva o resultado esperado de cada teste em uma frase. Código: [aqui]

Alerta fraco / Alerta forte

Fraco: "Escreva uma simulação de pêndulo."
Resultado: código sem unidades, sem validação, sem verificações de conservação; Não está claro se reflete a física ou não.
Forte: "Escreva um código solve_ivp que simule um pêndulo simples de comprimento L = 1 m, ângulo inicial de 10°, com g = 9,81 m/s² por 10 segundos. Monitore a energia total em cada passo e trace a razão até o início. Compare o período medido com a fórmula de pequena amplitude T = 2π√(L/g) e imprima a diferença."
Resultado: Uma simulação confiável com unidades, monitoramento de conservação e comparação com o valor analítico.

Erros comuns

  • Não seguindo a lei da conservação. Se a energia ou o momento estiverem oscilando, a simulação está errada; Confiar no resultado sem ver isso é o erro mais comum.
  • Escolhendo o tamanho do passo arbitrariamente. Um passo muito grande cria indecisão, um passo muito pequeno cria custos desnecessários; O teste de convergência é essencial.
  • Não fazer comparações analíticas. Sem compará-lo com um caso especial conhecido (pequena amplitude, estado sem atrito), a simulação permanece sem supervisão.
  • Confundindo uma falha numérica com física. Comportamentos como a expansão orbital costumam ser uma falha do método, e não da física real.
  • Corrigindo o número de amostras em simulação aleatória. É enganoso aumentar o número de amostras em Monte Carlo e confiar num único resultado sem ver convergência.
Cuidado: Só porque uma simulação produz um “bom gráfico” não significa que ela esteja correta. O visual é convincente, mas enganoso. Antes de confiar na simulação, siga uma lei de conservação e compare-a com uma situação conhecida. Uma simulação não verificada não é uma evidência física.

Em resumo

A simulação é uma maneira poderosa de compreender sistemas físicos dinâmicos que carecem de soluções analíticas e de construir rapidamente código de simulação de IA. Mas o valor da simulação depende de ela refletir a física com precisão. A maneira de garantir isso é seguir as leis de conservação, selecionar o tamanho do passo apropriado por meio de testes de convergência, comparar o resultado com casos analíticos conhecidos e testar casos limites físicos. Na próxima unidade mudaremos o foco dos dados gerados para a análise de dados experimentais reais.

Tarefa de aplicativo

Escolha um sistema dinâmico simples (pêndulo, queda livre + resistência do ar ou resfriamento). Com o modelo 1, imprima e execute um código de simulação que inclua uma verificação de conservação ou equilíbrio na IA. Verifique se a grandeza monitorada (energia ou temperatura) se comporta conforme o esperado. Em seguida, altere um parâmetro (atrito, massa, tamanho do passo) e veja se a mudança de comportamento está de acordo com sua intuição física. Escreva em 5-6 frases.

lista de verificação

  • [ ] Esclareci a equação, condições iniciais e unidades do sistema.
  • [ ] Segui uma lei de conservação (energia/momento) na simulação.
  • [] Verifiquei o tamanho do passo com um teste de convergência.
  • [ ] Comparei o resultado com uma situação analítica conhecida.
  • [ ] Realizei pelo menos um teste de estado limite físico.
  • [] Eu distingui os defeitos numéricos da física real.