Tarefa 11 - IF - Instituto de Física / UFRJhelder/MetComp/2017-1/Aula11/Tarefa11.pdf · Tarefa 11...

2
Universidade Federal do Rio de Janeiro Instituto de F´ ısica etodos Computacionais em F´ ısica Tarefa 11 As respostas dos itens marcados com dever˜ ao estar no diret ´ orio ˜/MetComp/Trabalho/Aula11 1. Modifique o programa que calcula ra´ ızes de uma func ¸˜ ao pelo m´ etodo de Newton-Raphson usando func ¸˜ oes, para que o n´ umero de iterac ¸˜ oes seja um parˆ ametro da func ¸˜ ao NewtonRaphson a ser mo- dificado dentro da func ¸˜ ao. 2. Modifique a func ¸˜ ao que implementa o m´ etodo de Euler vista na aula anterior para que possa ser usada em um sistema de N equac ¸˜ oes diferencias de primeira ordem acopladas. Use a seguinte assinatura: void EulerSimples (double * S, double ti, double h, int N, void ( * derivada) (double t, const double * S, double * f)) (mesmo que alguns argumentos n˜ ao sejam necess´ arios num dado problema). Use-a para resolver o sistema x 0 =5 - 2t; y 0 =3 - xt, para 0 t 2, com x(0) = 0,y(0) = 15. 3. Considere a forc ¸a central de atrac ¸˜ ao gravitacional entre a Terra e o Sol. Considere a posic ¸˜ ao do Sol na origem de um eixo de coordenadas e escreva a equac ¸˜ ao diferencial dada pela segunda lei de Newton para o movimento da Terra. Escreva essa equac ¸˜ ao como um sistema de equac ¸˜ oes diferenciais de primeira ordem em coordenadas cartesianas. 4. Usando o m´ etodo de Euler simples, escreva um programa chamado keplerSimples.c que calcule a trajet´ oria da Terra, dado que, em um momento inicial t=0, a Terra encontra-se a uma distˆ ancia x =1.496 × 10 11 m do Sol, ou seja, na posic ¸˜ ao (x,0,0), com uma velocidade inicial igual a 2.97 × 10 4 m/s (aproximadamente igual ` a velocidade orbital m´ edia da Terra) na direc ¸˜ ao positiva do eixo y, de forma que o movimento se d´ a no plano x, y. (a) O m´ etodo de Euler deve estar implementado em uma func ¸˜ ao, como a do item 2, que para os valores de x, y, v x ,v y num dado t determine os novos valores em t + h. (b) O programa deve ler do teclado o valor do passo h (em segundos) . O programa deve imprimir em um arquivo os valores de x, y e v x ,v y para valores de t de 0 at´ e 1 ano com o seguinte formato: # t (s) x(m) y(m) v x (m/s) v y (m/s) 0 1.496 × 10 11 0 0 2.97 × 10 4 ... (c) Execute o programa para passos iguais a 1 dia, 1 hora e 1 minuto e salve os resultados em arquivos keplerSimples dia.dat, keplerSimples hora.dat e keplerSimples minuto.dat. (d) Fac ¸a um gr´ afico no gnuplot com as trˆ es trajet´ orias obtidas superpostas. Salve-o no arquivo kepler.jpg. Dados: G =6.67 × 10 -11 Nm 2 /kg 2 , M sol =1.98 × 10 30 kg, M T erra =5.98 × 10 24 kg, R sol = 6.96 × 10 8 m, R T erra =6.37 × 10 6 m. Considere que um ano tenha exatamente 365 dias.

Transcript of Tarefa 11 - IF - Instituto de Física / UFRJhelder/MetComp/2017-1/Aula11/Tarefa11.pdf · Tarefa 11...

Page 1: Tarefa 11 - IF - Instituto de Física / UFRJhelder/MetComp/2017-1/Aula11/Tarefa11.pdf · Tarefa 11 As respostas dos itens marcados com i deverao estar no diret˜ orio´ ˜/MetComp/Trabalho/Aula11

Universidade Federal do Rio de JaneiroInstituto de Fısica

Metodos Computacionais em Fısica

Tarefa 11As respostas dos itens marcados com i deverao estar no diretorio ˜/MetComp/Trabalho/Aula11

1. Modifique o programa que calcula raızes de uma funcao pelo metodo de Newton-Raphson usandofuncoes, para que o numero de iteracoes seja um parametro da funcao NewtonRaphson a ser mo-dificado dentro da funcao.

2. Modifique a funcao que implementa o metodo de Euler vista na aula anterior para que possa serusada em um sistema de N equacoes diferencias de primeira ordem acopladas. Use a seguinteassinatura:void EulerSimples (double *S, double ti, double h, int N,

void (*derivada) (double t, const double *S, double *f))(mesmo que alguns argumentos nao sejam necessarios num dado problema).

Use-a para resolver o sistema x′ = 5−2t; y′ = 3−xt, para 0 ≤ t ≤ 2, com x(0) = 0, y(0) = 15.

3. i Considere a forca central de atracao gravitacional entre a Terra e o Sol. Considere a posicaodo Sol na origem de um eixo de coordenadas e escreva a equacao diferencial dada pela segundalei de Newton para o movimento da Terra. Escreva essa equacao como um sistema de equacoesdiferenciais de primeira ordem em coordenadas cartesianas.

4. i Usando o metodo de Euler simples, escreva um programa chamado keplerSimples.c quecalcule a trajetoria da Terra, dado que, em um momento inicial t=0, a Terra encontra-se a umadistancia x = 1.496×1011m do Sol, ou seja, na posicao (x,0,0), com uma velocidade inicial iguala 2.97× 104m/s (aproximadamente igual a velocidade orbital media da Terra) na direcao positivado eixo y, de forma que o movimento se da no plano x, y.

(a) O metodo de Euler deve estar implementado em uma funcao, como a do item 2, que para osvalores de x, y, vx, vy num dado t determine os novos valores em t+ h.

(b) O programa deve ler do teclado o valor do passo h (em segundos) . O programa deve imprimirem um arquivo os valores de x, y e vx, vy para valores de t de 0 ate 1 ano com o seguinteformato:

# t (s) x(m) y(m) vx(m/s) vy(m/s)0 1.496× 1011 0 0 2.97× 104

...

(c) Execute o programa para passos iguais a 1 dia, 1 hora e 1 minuto e salve os resultados emarquivos keplerSimples dia.dat, keplerSimples hora.dat ekeplerSimples minuto.dat.

(d) Faca um grafico no gnuplot com as tres trajetorias obtidas superpostas. Salve-o no arquivokepler.jpg.

Dados: G = 6.67× 10−11Nm2/kg2, Msol = 1.98× 1030kg, MTerra = 5.98× 1024kg, Rsol =6.96× 108m, RTerra = 6.37× 106m. Considere que um ano tenha exatamente 365 dias.

Page 2: Tarefa 11 - IF - Instituto de Física / UFRJhelder/MetComp/2017-1/Aula11/Tarefa11.pdf · Tarefa 11 As respostas dos itens marcados com i deverao estar no diret˜ orio´ ˜/MetComp/Trabalho/Aula11

5. i Repita o problema anterior substituindo o metodo de Euler pelo de Runge-Kutta de quartaordem, utilizando a funcao fornecida. Salve os resultados em arquivos keplerRK dia.dat,keplerRK hora.dat, keplerRK minuto.dat, salvando o grafico num arquivo keplerRK.jpg

6. i Faca um relatorio (relatorio.tex) que inclua a discussao do problema de forca central feitono item 3 , o sistema de EDO utilizado para fazer o programa do item 4, os graficos feitos nognuplot e seus comentarios sobre os resultados obtidos nos itens 4 e 5 .