8
Everaldo Ferreira <[email protected]> Programação 24 mensagens Everaldo Ferreira <[email protected]> 7 de julho de 2014 04:22 Para: Pedro Chaves de Souza Segundo <[email protected]> Professor estou meio perdido (todo), instalei o compilador e os adicionais, rodei o exemplo GSL (modificado para imprimir arquivo), imprimi um gráfico em .PNG, como indicado no site do mathgl, Qual o próximo passo? Em anexo um resumo do que fiz até agora. Programação.pdf 105K Pedro Segundo <[email protected]> 7 de julho de 2014 13:09 Para: Everaldo Ferreira <[email protected]> Olá, Primeiramente vamos fazero cálculo da evolução de uma partícula sobre a ação de um potencial V((x). A força é o gradiente. Escolha qualquer potencial, como exemplo teste, que deve ser armazenado para a monografia. Eu indicaria o oscilador harmônico, com todos os parâmetros e resultados conhecidos. Para rápida visualização, use o pacote mgl. Porém, para melhor desenho armazene em .dat para visualizar com o QtiPlot. Qualquer dúvida pode perguntar. Pedro [Texto das mensagens anteriores oculto] Everaldo Ferreira <[email protected]> 13 de julho de 2014 22:15 Para: Pedro Segundo <[email protected]> Existe algum material que eu possa consultar como guia? vou ter dificuldades para fazer o programa. [Texto das mensagens anteriores oculto] Pedro Segundo <[email protected]> 13 de julho de 2014 23:03 Para: Everaldo Ferreira <[email protected]> Consegue fazer evoluir uma partícula em um potencial? [Texto das mensagens anteriores oculto] Everaldo Ferreira <[email protected]> 14 de julho de 2014 07:11 Para: Pedro Segundo <[email protected]> Não. Tenho procurado à alguns dias, mas não encontrei nada que me ajudasse. [Texto das mensagens anteriores oculto] Pedro Segundo <[email protected]> 14 de julho de 2014 10:12 Para: Everaldo Ferreira <[email protected]>

Gmail - Programação

Embed Size (px)

DESCRIPTION

ttttttttttttttttttt

Citation preview

Page 1: Gmail - Programação

13/08/2015 Gmail - Programação

https://mail.google.com/mail/u/0/?ui=2&ik=633077d73d&view=pt&q=pedro.segundo%40gmail.com&qs=true&search=query&t… 1/8

Everaldo Ferreira <[email protected]>

Programação24 mensagens

Everaldo Ferreira <[email protected]> 7 de julho de 2014 04:22Para: Pedro Chaves de Souza Segundo <[email protected]>

Professor estou meio perdido (todo),instalei o compilador e os adicionais, rodei o exemplo GSL (modificado para imprimir arquivo), imprimi umgráfico em .PNG, como indicado no site do mathgl,Qual o próximo passo?

Em anexo um resumo do que fiz até agora.

Programação.pdf105K

Pedro Segundo <[email protected]> 7 de julho de 2014 13:09Para: Everaldo Ferreira <[email protected]>

Olá,Primeiramente vamos fazero cálculo da evolução de uma partícula sobre a ação de um potencial V((x). Aforça é o gradiente.Escolha qualquer potencial, como exemplo teste, que deve ser armazenado para a monografia. Eu indicariao oscilador harmônico, com todos os parâmetros e resultados conhecidos.Para rápida visualização, use o pacote mgl. Porém, para melhor desenho armazene em .dat para visualizarcom o QtiPlot.Qualquer dúvida pode perguntar.Pedro

[Texto das mensagens anteriores oculto]

Everaldo Ferreira <[email protected]> 13 de julho de 2014 22:15Para: Pedro Segundo <[email protected]>

Existe algum material que eu possa consultar como guia?vou ter dificuldades para fazer o programa.[Texto das mensagens anteriores oculto]

Pedro Segundo <[email protected]> 13 de julho de 2014 23:03Para: Everaldo Ferreira <[email protected]>

Consegue fazer evoluir uma partícula em um potencial?

[Texto das mensagens anteriores oculto]

Everaldo Ferreira <[email protected]> 14 de julho de 2014 07:11Para: Pedro Segundo <[email protected]>

Não.Tenho procurado à alguns dias, mas não encontrei nada que me ajudasse.[Texto das mensagens anteriores oculto]

Pedro Segundo <[email protected]> 14 de julho de 2014 10:12Para: Everaldo Ferreira <[email protected]>

Page 2: Gmail - Programação

13/08/2015 Gmail - Programação

https://mail.google.com/mail/u/0/?ui=2&ik=633077d73d&view=pt&q=pedro.segundo%40gmail.com&qs=true&search=query&t… 2/8

Você tem tudo a mão: como calcular, o quê calcular...Pegue o modelo que você enviou e adapte para um potencial x². Você vai utilizar a força, isto é, o gradientedesse potencial. Em uma dimensão ­kx. Assim, a aceleração a= ­kx/m.Calcule o jacobiano e ponha isso tudo no programa.

O resultado deve ser um oscilador. Escolha alguns k e m, compare com o teórico.

[Texto das mensagens anteriores oculto]

Everaldo Ferreira <[email protected]> 23 de julho de 2014 23:58Para: Pedro Segundo <[email protected]>

Como está descrito na apostila GSL, o programa resolve uma equação denominada de "equação deoscilação de segunda ordem não linear de Van der Pol". Essa equação é quebrada para um "sistema deprimeira ordem".

(d²x/dt²) ­ mu*(1­x²)(dx/dt) + x=0 <­­­> u"(t) + mu*u′(t)(u(t)² − 1) + u(t)=0

u'=v

v'= − u + mu*v(1 − u²)

Então para um oscilador harmônico simples eu vou ter isso?

(d²x/dt²)+(k/m)x=0 <­­­> u"(t)+(k/m)u(t)=0

u'=v

v'= ­ (k/m)u[Texto das mensagens anteriores oculto]

Pedro Segundo <[email protected]> 24 de julho de 2014 09:46Para: Everaldo Ferreira <[email protected]>

É isso.

Em 23 de julho de 2014 23:58, Everaldo Ferreira<[email protected]> escreveu:[Texto das mensagens anteriores oculto]

Everaldo Ferreira <[email protected]> 24 de julho de 2014 15:05Para: Pedro Segundo <[email protected]>

Eu não estou conseguindo entender como exatamente é feito esse jacobiano no programa...

double mu = *(double *)params; gsl_matrix_view dfdy_mat = gsl_matrix_view_array (dfdy, 2, 2); gsl_matrix * m = &dfdy_mat.matrix; gsl_matrix_set (m, 0, 0, 0.0); gsl_matrix_set (m, 0, 1, 1.0); gsl_matrix_set (m, 1, 0, ­2.0*mu*y[0]*y[1] ­ 1.0); gsl_matrix_set (m, 1, 1, ­mu*(y[0]*y[0] ­ 1.0)); dfdt[0] = 0.0; dfdt[1] = 0.0; return GSL_SUCCESS; [Texto das mensagens anteriores oculto]

Page 3: Gmail - Programação

13/08/2015 Gmail - Programação

https://mail.google.com/mail/u/0/?ui=2&ik=633077d73d&view=pt&q=pedro.segundo%40gmail.com&qs=true&search=query&t… 3/8

Pedro Segundo <[email protected]> 24 de julho de 2014 21:46Para: Everaldo Ferreira <[email protected]>

F1 = u'F2 = v'jacobiano é uma matriz assim:| dF1/du dF1/dv || dF2/du dF2/dv |

No programa, ele define assim: 0,0 para dF1/du0,1 para dF1/dv ...

No seu caso ficaria: 0 1­k/m0

Entendeu?

Em 24 de julho de 2014 15:05, Everaldo Ferreira<[email protected]> escreveu:[Texto das mensagens anteriores oculto]

Everaldo Ferreira <[email protected]> 28 de julho de 2014 14:23Para: Pedro Segundo <[email protected]>

Entendi

então, o que fiz?Peguei o exemplo do GSL pag. 325,326 (EDO), modifiquei para um oscilador harmônico simples,

u'=v <­­­> f[0] = y[1];

v'= ­ (mu)*u <­­­> f[1] = ­ mu*y[0];

Substitui os valores do jacobiano no programa,

0 1­mu 0

Não modifiquei mais nada, Obs.: Não mexi no "mu" que no caso do OHS ficou como a constante elástica divido pela massa, k/m;

Rodei esse programa, e ele compilou sem erros, salvei um .dat no arquivo (anexo), utilizei o QtiPlot paragráfico (dispersão) e ele saiu com essa "cara" .png (anexo).

[Texto das mensagens anteriores oculto]

2 anexos

Page 4: Gmail - Programação

13/08/2015 Gmail - Programação

https://mail.google.com/mail/u/0/?ui=2&ik=633077d73d&view=pt&q=pedro.segundo%40gmail.com&qs=true&search=query&t… 4/8

Gráfico1.png632K

teste.dat4K

Pedro Segundo <[email protected]> 28 de julho de 2014 14:39Para: Everaldo Ferreira <[email protected]>

Bem, eu acho que se você diminuir o passo, em pelo menos 10x você veráoutra coisa.

Em 28 de julho de 2014 14:23, Everaldo Ferreira<[email protected]> escreveu:[Texto das mensagens anteriores oculto]

Everaldo Ferreira <[email protected]> 28 de julho de 2014 16:40Para: Pedro Segundo <[email protected]>

Onde posso fazer isso?

ou

No programa, ou no QtiPlot?[Texto das mensagens anteriores oculto]

Pedro Segundo <[email protected]> 28 de julho de 2014 19:52Para: Everaldo Ferreira <[email protected]>

no programa, no mainDiminua o delta t.

Em 28 de julho de 2014 16:40, Everaldo Ferreira<[email protected]> escreveu:[Texto das mensagens anteriores oculto]

Everaldo Ferreira <[email protected]> 28 de julho de 2014 23:24Para: Pedro Segundo <[email protected]>

Ok,

Acho que eu consegui[Texto das mensagens anteriores oculto]

6 anexos

Page 6: Gmail - Programação

13/08/2015 Gmail - Programação

https://mail.google.com/mail/u/0/?ui=2&ik=633077d73d&view=pt&q=pedro.segundo%40gmail.com&qs=true&search=query&t… 6/8

OHS_100Passos.png662K

Pedro Segundo <[email protected]> 28 de julho de 2014 23:41Para: Everaldo Ferreira <[email protected]>

O sistema tava oscilando numa frequência e você estava pegando ospontos quase na mesma frequência.Agora, pense em um sistema amortecido.E compare sempre com os resultados analíticos (teórico).

Em 28 de julho de 2014 23:24, Everaldo Ferreira<[email protected]> escreveu:[Texto das mensagens anteriores oculto]

Pedro Segundo <[email protected]> 28 de julho de 2014 23:43Para: Everaldo Ferreira <[email protected]>

Na verdade, o nome dos seus arquivos não é 10, 100 passos. E sim vocêtá colocando o tempo 10s , 100s (se for essa a unidade de tempo)[Texto das mensagens anteriores oculto]

Everaldo Ferreira <[email protected]> 30 de julho de 2014 21:15Para: Pedro Segundo <[email protected]>

Entendi

Agora para um oscilador harmônico amortecido;

(d²x/dt²)+(b/m)(dx/dt)+(k/m)x=0 <­­­­> u"(t)+(b/m)u'(t)+(k/m)u(t)=0

u'=v

v'= ­(k/m)u ­ (b/m)v

Jacobiano;

01­(k/m)­(b/m)

Duvidas...A contante k/m já está definida como mu, mas a constante b/m?Qual a melhor forma de comparar esses resultados obtidos com resultados teóricos?[Texto das mensagens anteriores oculto]

Pedro Segundo <[email protected]> 30 de julho de 2014 23:28Para: Everaldo Ferreira <[email protected]>

Para facilitar crie variáveis globais no começo, antes das funções: k, m, b...

Page 7: Gmail - Programação

13/08/2015 Gmail - Programação

https://mail.google.com/mail/u/0/?ui=2&ik=633077d73d&view=pt&q=pedro.segundo%40gmail.com&qs=true&search=query&t… 7/8

Aí você pode escolher parâmetros da ordem da unidade e compare com os teóricos.Faça gráfico posição teórico analítico X simulado para posição e emoutro para a velocidade.

Em 30 de julho de 2014 21:15, Everaldo Ferreira[Texto das mensagens anteriores oculto]

Everaldo Ferreira <[email protected]> 4 de agosto de 2014 23:47Para: Pedro Segundo <[email protected]>

Para o oscilador harmônico amortecido eu vou ter 3 constantes diferentes b, k, m... seria interessantechamar o m de ma, já que eu tenho um m no jacobiano no programa?

Na linha 10 ele trata a constante mu = *(double *)params;como faço no caso das minhas constantes? pelo o que eu entendi vou ter que definir as constantes nojacobiano também, linha 19, e na linha 36 vou atribuir valores para as contantes.

Tentei definir apenas as constantes ma e k, para usar no OHS, mas não obtive êxito;

Em anexo o main.ccp do OHS se precisar analisar algo.[Texto das mensagens anteriores oculto]

main.cpp2K

Pedro Segundo <[email protected]> 5 de agosto de 2014 00:09Para: Everaldo Ferreira <[email protected]>

Vamos por partes?Primeiro, separe as partes com comentários // Calculando o Jacobiano....

Segundo, eu não sei se aí ficou organizado, mas aqui apareceu tudo naprimeira coluna. O que for um "for" ou "if" coloque tabulado. <TAB>

Terceiro, o params eu não entendo muito bem:É usado o mu=10. Para mim, usaria mu[]=10,2;e lá dentromassa=*(double *)params[0];viscosidade=...[1];

é para tentar.

Em 4 de agosto de 2014 23:47, Everaldo Ferreira<[email protected]> escreveu:[Texto das mensagens anteriores oculto]

Pedro Segundo <[email protected]> 5 de agosto de 2014 01:03Para: Everaldo Ferreira <[email protected]>

O seu programa escrito um pouco mais organizado, falta você colocar oscomentários.E consegui fazer, depois de pesquisar pelo google, como colocar os parâmetros.Veja que agora está explicito a massa, k, b...Quero que compare, antes de colocar amortecimento, com os resultados teóricos:coloque algumas massas, k... e veja o resultado, comparando com o analítico.[Texto das mensagens anteriores oculto]

main.cpp2K

Page 8: Gmail - Programação

13/08/2015 Gmail - Programação

https://mail.google.com/mail/u/0/?ui=2&ik=633077d73d&view=pt&q=pedro.segundo%40gmail.com&qs=true&search=query&t… 8/8

Everaldo Ferreira <[email protected]> 17 de agosto de 2014 22:19Para: Pedro Segundo <[email protected]>

Então,Para OHS: (d²x/dt²)+(k/m)x=0,Eu tenho como solução x(t)=Acos(wt+fi), caso w=sqrt(k/m);Sendo esta a posição em função do tempo t.

Velocidade é dada por dx/dt, assim v(t)=­Awsen(wt+fi)...

Dúvidas,Para fazer o gráfico do modelo analítico preciso de valores para A (amplitude de oscilação), para constantede fase fi "entendo que a contante de fase fi é zero quando a amplitude é máxima", Sei qual o valor dew=k/m, é o mesmo do programa, já que tenho que fazer a comparação entre os dois modelos.

Devo usar x(t)=Acos((2pi/T)*t)? onde T=2pi(sqrt(k/m))?

Enfim não estou conseguindo fazer os gráfico da posição e da velocidade para poder fazer a comparaçãocom o resultado numérico...[Texto das mensagens anteriores oculto]

Pedro Segundo <[email protected]> 18 de agosto de 2014 12:11Para: Everaldo Ferreira <[email protected]>

Oi Everaldo,

Em princípio, você pode colocar o qtiplot para encontrar para você.Mas antes, se olhar os livros de Física 2, há como encontrar A e fi.Eles dependem da posição e velocidade iniciais. Calcule A e fi tendoas condições iniciais x0 e v0.x(t=0)=Acos(w.0+fi)=x0v(t=0)=­Asen(w.0+fi)=v0

Até mais.Pedro

Em 17 de agosto de 2014 22:19, Everaldo Ferreira<[email protected]> escreveu:[Texto das mensagens anteriores oculto]