Iteração de Newton aplicada ao PDE não linear


8

Estou tendo dificuldades para entender como aplicar a iteração de Newton a PDEs não lineares e, em seguida, usar um esquema totalmente implícito para a etapa do tempo. Por exemplo, eu quero resolver a equação de Burgers

ut+uuxuxx=0

Tão discretizando o tempo usando um Backuler Euler

ut=un+1unh

nós achamos isso

un+1unh+un+1(un+1)x(un+1)xx=0un+1h(un+1)xx+hun+1(un+1)x=un(IhD2)un+1+hun+1Dun+1=un(IhD2)un+1+N(un+1)=un   (1)

onde representa nosso termo não linear (observe que o termo não linear é escrito implicitamente). Agora, queremos aplicar a iteração de Newton a este ODE não linear, mas aqui é onde eu fico preso:N

  1. Aplicamos apenas a Iteração de Newton ao LHS de , ignorando o termo , isto é, resolva ? Ou devemos incluir o termo ? (Apenas um lembrete, eu quero cronometrar o passo usando um esquema totalmente implícito depois de usar a iteração de Newton, então acredito que apenas queremos resolver o LHS = 0).u n ( I - h D 2 ) u n + 1 + N ( u n + 1 ) = 0 u n(1)un(IhD2)un+1+N(un+1)=0un

  2. O que devemos então fazer com as informações do palpite inicial e do resultado de nossa iteração de Newton? Como usamos essas informações em nosso tempo?

Como tenho certeza de que é dolorosamente óbvio, estou bastante confuso sobre como abordar esse problema. Se alguém pudesse fornecer uma descrição detalhada de como aplicar a iteração de Newton e o intervalo de tempo para PDEs não lineares (embora não sejam elípticos), ou pudesse me ajudar com o problema em questão, ficaria muito grato. Desde já, obrigado.

Respostas:


7

É um pouco mais fácil ver se você escreve sua equação no sistema semi-discretizado da forma e com a aplicação do método e aproximando isso dá,u(t)=F(u(t))θu(t)(wn+1wn)/τ

wn+1wn(1θ)τF(wn)θτF(wn+1)=0

com vetor desconhecido e intervalo de tempo . Aqui é a derivada parcial de tempo não discretizada e representa suas derivadas espaciais discretizadas avaliadas em no tempo . O uso do método fornece um pouco de flexibilidade, pois você pode alterar o método entre totalmente implícito para totalmente explícito (e em qualquer outro local).wn+1τu(t)F(u(t))u(t)tθ

Essa equação pode ser resolvida usando a iteração de Newton,

νk+1=νk(IθτAn)1(νkwn(1θ)τF(wn)θτF(wn+1))

onde é o índice de iteração ( ) e é a matriz jacobiana de . Usamos o símbolo para variáveis ​​de iteração, de modo que elas sejam diferenciadas da solução da equação em um ponto de tempo real . Como você disse que a iteração precisa de um valor inicial, é perfeitamente válido escolher ou, para uma estimativa melhor, podemos pré-calcular uma iteração . Estritamente falando, essa é a chamada iteração de Newton modificada porque o jacobiano não é atualizado durante a iteração, que é conhecido por funcionar bem para PDEs rígidos.k 0 A n F ( w n ) v k u n v 0 = w 0 v 0 = w 0 + τ F ( w 0 )kk0AnF(wn)νkunν0=w0ν0=w0+τF(w0)


Obrigado pela sua resposta. Eu deveria ter sido mais específico, na verdade já estou no ponto de usar a iteração de Newton e tenho resolvido o problema como tal, e tenho gráficos da solução. Mas o meu principal problema é como cronometrar o passo depois? Eu pensei que queríamos "aniquilar" o termo não linear e depois passar um ODE linear posteriormente? Ou perdi totalmente o ponto da iteração de Newton? Além disso, você poderia incluir um método passo a passo de como obteve sua equação de Iteração de Newton? Peço desculpas por fazer tantas perguntas, só estou tendo um pouco de dificuldade no momento.
mattos

Eu acho que você perdeu o ponto. Você discretiza suas equações não lineares e itera (começando com um valor de estimativa) para resolver as equações para dar no ponto de tempo (isso gera uma sequência de valores aprimorados que eu denotei como os termos ). Você passa para o ponto e repete. Não posso derivar isso para você, você pode encontrar isso na web. Você perguntou como resolver PDEs não lineares com o método Newtons, que eu respondi. Eu recomendo marcar isso como respondido e abrir novas perguntas se precisar de outra ajuda. t 1 v t 2w1t1νt2
precisa saber é o seguinte

Parece que há um erro na fórmula de iteração de Newton? Considere para um método totalmente explícito, e a matriz jacobiana é multiplicada por 0. Ou estou faltando alguma coisa? Obrigadoθ=0
Cogicero

Confira a p.127 books.google.co.uk/books?isbn=3540034404, que possui mais informações. Eu implementei algoritmos numéricos com isso e funciona.
precisa
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.