Simulação da Queda de Corpos DI/FCT/UNL 1º Semestre 2004/2005 1 Bases Físicas do Problema • Sem contar com a resistência do ar, um corpo em queda livre é sujeito à aceleração (constante) da gravidade com o valor de 9.8 ms-2. • A resistência do ar pode ser modelada através de uma força, logo de uma aceleração, proporcional à velocidade e de sentido contrário, que depende do objecto em queda. Denotando por a a aceleração instantânea (no instante t), e tendo em conta os sentidos no referencial, temos: x g a v a(t) = - g - kv(t) coeficiente de resistência do ar 2 Velocidade e Aceleração Como é sabido a aceleração é a derivada da velocidade: a(t) = dv(t)/dt logo: a(t)dt = dv(t) Se dt for um valor muito pequeno, podemos obter a aproximação: a(t)dt ≈ v(t+dt)-v(t) Portanto, o valor aproximado da velocidade no instante t+dt é: v(t+dt) ≈ v(t)+a(t)dt 3 Posição e Velocidade Como é sabido a velocidade é a derivada da posição: v(t) = dx(t)/dt logo: v(t)dt = dx(t) Se dt for um valor muito pequeno, podemos obter a aproximação: v(t)dt ≈ x(t+dt)-x(t) Portanto, o valor aproximado da posição no instante t+dt é: x(t+dt) ≈ x(t)+v(t)dt 4 Aceleração, Velocidade e Posição Em resumo, dados os valores da velocidade e posição no instante t, o seu valor aproximado no instante t+dt, é: x(t+dt) x(t) + v(t) dt v(t+dt) v(t) + a(t) dt sendo a aceleração do corpo em queda livre dada por: a(t) = - g - k v(t) Uma vez esboçada a forma de calcular os sucessivos valores da altura, velocidade e aceleração, podemos especificar o problema. 5 Especificação do Problema Dada uma altura inicial, determinar com base no coeficiente de resistência do ar e para uma dada precisão do intervalo de tempo, o tempo que dura a queda, bem como as velocidades e aceleração no solo. Entrada Resistência do Ar Altura Inicial Intervalo de Tempo Algoritmo de Queda de Corpos Resultados Tempo da Queda Velocidade Final Aceleração Final 6 Variáveis Utilizadas Em geral, na especificação de um algoritmo definem-se as variáveis e constantes que vão ser utilizadas, bem como o seu significado. Neste problema, apenas existe uma constante: • g = 9.8 a aceleração da gravidade (na Terra) As variáveis a utilizar são, naturalmente, as seguintes: • t: o tempo • dt: o valor do intervalo de tempo usado na simulação • x: a altura do corpo em cada instante t • v: a velocidade do corpo no instante t • a: a aceleração do corpo no instante t • k: o coeficiente de resistência do ar (dependente da forma do corpo) 7 Estrutura do Algoritmo O algoritmo para simulação da queda dos corpos pode ser decomposto em 3 “componentes” 1. Inicialização de Variáveis 2. Ciclo de Simulação da Queda 3. Apresentação de Resultados Cada uma destas componentes pode ser considerada separadamente 8 Inicialização de Variáveis Em qualquer algoritmo é necessário garantir que as variáveis são inicializadas e as constantes definidas antes de poderem ser referidas em expressões. • • • • • • • g: aceleração da gravidade t: o tempo dt: intervalo de tempo usado na simulação x: a altura do corpo em cada instante t v: a velocidade do corpo no instante t a: a aceleração do corpo no instante t k: o coeficiente de resistência do ar g 9.8; A constante que representa a aceleração da gravidade deve ser definida com o respectivo valor. 9 Inicialização de Variáveis Em qualquer algoritmo é necessário garantir que as variáveis são inicializadas e as constantes definidas antes de poderem ser referidas em expressões. • • • • • • • g: aceleração da gravidade t: o tempo dt: intervalo de tempo usado na simulação x: a altura do corpo em cada instante t v: a velocidade do corpo no instante t a: a aceleração do corpo no instante t k: o coeficiente de resistência do ar g 9.8; entra x; entra k; entra dt; Quer a altura inicial, quer o valor do coeficiente da resistência do ar, quer o intervalo de tempo utilizados, devem ser especificados pelo utilizador através de instruções de entrada. 10 Inicialização de Variáveis Em qualquer algoritmo é necessário garantir que as variáveis são inicializadas e as constantes definidas antes de poderem ser referidas em expressões. • • • • • • • g: aceleração da gravidade t: o tempo dt: intervalo de tempo usado na simulação x: a altura do corpo em cada instante t v: a velocidade do corpo no instante t a: a aceleração do corpo no instante t k: o coeficiente de resistência do ar g 9.8; entra x; entra k; entra dt; t 0; v 0; Assumindo que a queda começa na origem do tempo, a partir de repouso, as respectivas variáveis deverão ser inicializadas a zero. 11 Inicialização de Variáveis Em qualquer algoritmo é necessário garantir que as variáveis são inicializadas e as constantes definidas antes de poderem ser referidas em expressões. • • • • • • • g: aceleração da gravidade t: o tempo dt: intervalo de tempo usado na simulação x: a altura do corpo em cada instante t v: a velocidade do corpo no instante t a: a aceleração do corpo no instante t k: o coeficiente de resistência do ar g 9.8; entra x; entra k; entra dt; t 0; v 0; a -g-kv; A aceleração inicial pode ser calculada de acordo com a fórmula. 12 Inicialização de Variáveis 1. Inicialização de Variáveis g 9.8; entra x; entra k; entra dt; t 0; v 0; a -g-kv; % Aceleração da Gravidade % Altura inicial % Coeficiente de Atrito % Intervalo de Tempo % Tempo inicial % Velocidade inicial % Aceleração inicial 13 Ciclo de Simulação A parte fundamental do algoritmo é um ciclo em que se vão calculando os sucessivos valores de tempo t, da altura x, da velocidade v e da aceleração a, em tempos espaçados de um intervalo dt: enquanto ... fazer t t + dt ; x x + v dt ; v v + a dt ; a -g - k v ; fim enquanto % x(t+dt) x(t) + v(t) dt % v(t+dt) v(t) + a(t) dt % a(t+dt) = - g - k v(t+dt) 14 Condições de Entrada no Ciclo Em qualquer ciclo é necessário especificar em que condições é que o ciclo é executado. Neste caso, estamos interessados em estudar a queda até se atingir o solo (x=0). A condição de controle do ciclo é pois x > 0, donde: enquanto x > 0 fazer t t + dt ; x x + v dt ; v v + a dt ; a -g - k v ; fim enquanto % x(t+dt) x(t) + v(t) dt % v(t+dt) v(t) + a(t) dt % a(t+dt) = - g - k v(t+dt) 15 Ciclo de Simulação 2. Ciclo de Simulação enquanto x > 0 fazer t t + dt ; x x + v dt ; v v + a dt ; a -g - k v ; fim enquanto % x(t+dt) x(t) + v(t) dt % v(t+dt) v(t) + a(t) dt % a(t+dt) = - g - k v(t+dt) 16 Apresentação de Resultados O tempo de duração da queda, a velocidade final com que se atinge o solo, e a aceleração nesse ponto, são simplesmente o valor das variáveis t, v e a no final do ciclo. 3. Apresentação de Resultados sai t; sai v; sai a; % Tempo de duração da Queda % Velocidade de chegada ao solo % Aceleração de chegada ao solo 17 Algoritmo Completo % Inicialização de Variáveis g 9.8; entra x; entra k; entra dt; t 0; v 0; a -g-kv; % Ciclo de Simulação da Queda enquanto x > 0 fazer t t + dt ; x x + v dt ; v v + a dt ; a -g - k v ; fim enquanto % Apresentação dos Resultados sai t; sai v; sai a; % Aceleração da Gravidade % Altura inicial % Coeficiente de Atrito % Intervalo de Tempo % Tempo inicial % Velocidade inicial % Aceleração inicial % x(t+dt) x(t) + v(t) dt % v(t+dt) v(t) + a(t) dt % a(t+dt) = - g - k v(t+dt) % Tempo de duração da Queda % Velocidade de chegada ao solo % Aceleração de chegada ao solo 18 Programa Octave g = 9.8; x = input(" Qual a altura inicial (em metros) ? "); k = input(" e o coeficiente de atrito (1/s) ? "); dt = input(" e o intervalo de tempo (em segs) ? "); t = 0; v = 0; a = - g - k * v; while (x > 0) t = t + dt; x = x + v * dt; v = v + a * dt; a = - g - k * v; endwhile; disp(" O tempo de queda (em segundos) foi de "); disp(t); disp(" e a velocidade final (em m/s) foi de "); disp(-v); disp(" e a aceleração final (em m/s2) foi de "); disp(-a); 19 Programa Octave • O programa pode ser testado com vários valores dos parâmetros de entrada (x, k e dt). • A altura inicial x tipica é da ordem dos 1000 metros. • Realçar a importância de dt tomar valores pequenos, de forma a garantir que erros cometidos pela aproximação das equações diferenciais não sejam muito significativos (dt 0.1 seg). • Tipicamente k toma valores no intervalo • 0 – sem resistência do ar • 1 – resistência muito alta 20