É possível resolver PDEs não lineares sem usar a iteração de Newton-Raphson?


15

Estou tentando entender alguns resultados e gostaria de receber alguns comentários gerais sobre como resolver problemas não-lineares.

Equação de Fisher (um PDE de difusão da reação não linear),

vocêt=dvocêxx+βvocê(1 1-você)=F(você)

de forma discreta,

vocêj=euvocê+βvocêj(1 1-vocêj)=F(você)

onde é o operador diferencial e é o estêncil de discretização.u = ( u j - 1 , u j , u j + 1 )euvocê=(vocêj-1 1,vocêj,vocêj+1 1)

Método

Desejo aplicar um esquema implícito porque exijo estabilidade e tempo irrestrito. Para esse propósito, estou usando o método theta-(observe que fornece um esquema totalmente implícito e fornece o esquema trapezoidal ou "Crank-Nicolson"),θ = 1 θ = 0,5θθ=1 1θ=0,5

vocêj=θF(vocên+1 1)+(1 1-θ)F(vocên)

No entanto, para problemas não lineares, isso não pode ser feito porque a equação não pode ser escrita de forma linear.

Para contornar esse problema, tenho explorado duas abordagens numéricas,

  1. Método IMEX

    uj=θLun+1+(1θ)Lunθmethod diffusion term+βujn(1 1-vocêjn)Termo de reação totalmente explícito

    A rota mais óbvia é ignorar a parte não linear do termo da reação e apenas atualizar o termo da reação com o melhor valor possível, isto é, a partir do passo anterior. Isso resulta no método IMEX.

  2. Solucionador de Newton

νk+1 1=νk-(Eu-θτUMAn)-1 1(νk-vocên-(1 1-θ)τF(Wn)-θτF(Wn+1 1))

A equação completa -method pode ser resolvida usando a iteração Newton-Raphson para encontrar a variável de solução futura. Onde é o índice de iteração ( ) e é a matriz jacobiana de . Aqui eu uso os símbolos para variáveis ​​de iteração de modo que elas sejam distinguidas da solução da equação em um ponto de tempo real . Na verdade, este é um solucionador de Newton modificado porque o jacobiano não é atualizado a cada iteração.θkk0 0UMAnF(Wn)νkvocên

Resultados

Comparação da equação de Fisher de métodos numéricos.

Os resultados acima são calculados para uma etapa de tempo razoavelmente grande e mostram a diferença entre a abordagem da etapa de tempo e um solucionador de iteração de Newton completo.

Coisas que eu não entendo:

  1. Surpreende-me que o método de escalonamento do tempo seja "OK", mas eventualmente fique atrás da solução analítica à medida que o tempo passa. ( NB, se eu tivesse escolhido um intervalo de tempo menor, a abordagem de intervalo de tempo apresentaria resultados fechados ao modelo analítico). Por que a abordagem de escalonamento do tempo fornece resultados razoáveis ​​para uma equação não linear?

  2. O modelo de Newton se sai muito melhor, mas começa a liderar o modelo analítico à medida que o tempo avança. Por que a precisão da abordagem de Newton diminui com o tempo? A precisão pode ser melhorada?

  3. Por que existe uma característica geral que, após muitas iterações, o modelo numérico e o modelo analítico começam a divergir? Isso ocorre apenas porque o intervalo de tempo é muito grande ou isso sempre acontece?


Eu recomendo a leitura da análise básica de erros dos solucionadores ODE, por exemplo, em Hairer / Nørsett / Wanner, além de algumas análises de estabilidade. A maioria das suas perguntas será respondida então.
Guido Kanschat 27/08/13

11
@boyfarrell, para evitar confusão de colegas leitores, você deve colocar a terminologia exatamente onde explica seu método: 1. IMEX - explícito na não-linearidade e implícito na parte linear. 2. este é o esquema- padrão , que normalmente exigirá que o método de Newton resolva a atualizaçãoθ
Jan /

11
Olá @Jan, acho que consegui tudo. Obrigado novamente por sua ajuda.
precisa saber é o seguinte

Respostas:


9

Suponho que você tenha realizado uma discretização de espaço, para resolver o ODE (com valor vetorial) através de um esquema numérico Φ que avança a aproximação u n h na instância de tempo atual t = t n para o próximo valor u n +

u˙h(t)=Fh(t,uh(t)), on [0,T] ,uh(0)=α.
Φuhnt=tn emt=tn+1:=tn+τ.uhn+1t=tn+1:=tn+τ

Em seguida, suas perguntas se referem às propriedades explícitas , nas quais a atualização é escrita como

uhn+1=uhn+Φe(tn,τ,uhn),

uhn+1=uhn+Φi(tn,τ,uhn+1,uhn),()

ou uma combinação de ambos (' IMEX ', consulte a resposta de @Jed Brown) em etapas de etapa única.

uhn+1()

E minhas respostas baseiam-se em resultados da análise numérica de métodos de etapa única.

  1. Fh
  2. Você pode encontrar exemplos em que esquemas explícitos têm melhor desempenho. (Teoricamente, você pode reverter o tempo no seu exemplo, começar pelo valor do terminal e encontrar trocas implícitas e explícitas.) Se você fizer o erro de Newton suficientemente pequeno, ainda poderá melhorar a precisão diminuindo o intervalo de tempo ou usando o tempo esquemas de alta ordem.
  3. CerrCτpp>0τ

Mais algumas observações e a resposta final:

  • Os esquemas IMEX podem ser usados ​​para tratar apenas a parte linear implicitamente, o que evita as soluções não lineares. Veja a resposta de Jed Brown.
  • uhn+1=Φm(tn,τ,uhn+1,uhn,uhn1).

()


Sim, apliquei o estêncil padrão de diferença central ao termo difusão. Não posso usar um esquema explícito (para o problema real que quero resolver) porque o tempo estável é irrealisticamente pequeno. É por isso que estou explorando opções IMEX ou implícitas. Em relação ao seu terceiro ponto, para evitar a acumulação de erros, devo usar métodos de várias etapas. O esquema Crank-Nicolson que usei acima (com o solucionador de Newton) é classificado como um método de várias etapas (ele tem dois pontos no tempo)? Fiquei surpreso que o erro aumentou com o tempo ao usar o método Newton Solver.
precisa saber é o seguinte

vocêhn+1 1=vocêhn+Φ(tn,τn,vocêhn,vocêhn+1 1)

11
OK, obrigado por explicar sobre o método CN. Sim, é interessante por que os métodos de várias etapas parecem ter menor acúmulo de erros. A razão pela qual o solucionador de Newton tem erros é porque é um método de etapa única, eu entendo agora. A propósito, eu sei que você gosta de Python. Eu fiz tudo o acima usando scipy, numpy e matplotlib, gist.github.com/danieljfarrell/6353776
boyfarrell

Eu removi o link para o artigo de Trefethen et. al. na integração IMEX de alta ordem da minha resposta, pois existem melhores referências para aprender sobre os esquemas IMEX.
Jan

12

Resposta curta

Se você deseja apenas precisão de segunda ordem e nenhuma estimativa de erro incorporada, é provável que fique satisfeito com a divisão de Strang: meio passo da reação, passo completo da difusão, meio passo da reação.

Resposta longa

A difusão de reação, mesmo com reação linear, é famosa por demonstrar erro de divisão. De fato, pode ser muito pior, incluindo "convergir" para estados estacionários incorretos, confundir estados estacionários com ciclos limite, confundir configurações estáveis ​​e instáveis ​​e muito mais. Veja Ropp, Shadid e Ober (2004) e Knoll, Chacon, Margolin e Mousseau (2003) para a perspectiva dos físicos computacionais sobre isso. Para a análise do matemático em termos de condições de ordem, consulte o livro de Hairer e Wanner sobre ODE rígido (os métodos Rosenbrock-W são um método IMEX linearmente implícito), Kennedy e Carpenter (2003) para o "aditivo" IMEX não linearmente implícito Runge-Kutta, e página de Emil Constantinescu para métodos IMEX mais recentes.

Em geral, os métodos IMEX têm mais condições de ordem do que os métodos implícitos e explícitos subjacentes. Os pares de métodos IMEX podem ser projetados com a estabilidade linear e não linear desejada e, assim, satisfazer todas as condições de pedido, até a ordem de design do método. A satisfação de todas as condições do pedido manterá o erro de divisão assintótica da mesma escala que o erro em cada esquema separadamente. Ele não diz nada sobre o regime pré-assintótico (grandes intervalos de tempo / requisito de baixa precisão), mas raramente é mais rigoroso que a resolução de cada parte separadamente. De qualquer forma, o erro de divisão é visível para o estimador de erros incorporado (ao usar o controle de erro adaptativo).

O PETSc possui muitos métodos IMEX das famílias Rosenbrock-W e Runge-Kutta aditiva e terá extrapolação e IMEX linear de várias etapas em nosso próximo lançamento.

Isenção de responsabilidade: escrevi grande parte do suporte à integração de tempo do PETSc e colaborei com Emil (link acima).


Estou certamente abordando isso da perspectiva da física, para que todos os detalhes técnicos levem algum tempo para eu seguir, porque não estou familiarizado com muitos dos termos. Na verdade, sou experimentalista! Você explicaria um pouco mais sobre as condições do pedido? IMEX são esses métodos de várias etapas mencionados por Jan?
boyfarrell

Condições de ordem são relações entre coeficientes dos métodos ODE (por exemplo, entradas em um quadro Butcher para métodos Runge-Kutta) que devem ser satisfeitas para ter uma ordem de precisão. As condições do pedido são discutidas em qualquer livro ou artigo que projete métodos de integração ODE, mas basicamente equivale a aplicar repetidamente derivativos e termos correspondentes em uma expansão de Taylor. O número de condições de pedidos cresce rapidamente para os métodos de alta ordem, e é por isso que fica difícil projetar métodos de alta ordem. As barreiras são estabelecidas, mostrando que as condições da ordem são mutuamente incompatíveis.
Jed Brown
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.