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

Preview:

Citation preview

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.

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 .