Estoy trabajando en un proyecto donde tengo dos dominios acoplados adv-diff a través de sus respectivos términos fuente (un dominio agrega masa, el otro resta masa). Por brevedad, los estoy modelando en estado estacionario. Las ecuaciones son su ecuación de transporte de advección-difusión estándar con un término fuente similar a este:
Donde es el flujo difusivo y advectivo para la especie , y es el término fuente para la especie .
He podido escribir un solucionador de mi problema usando el método Newton-Raphson, y he acoplado completamente los dos dominios usando una matriz de masa en bloque, es decir:
El término se utiliza para determinar la matriz jacobiana y actualizar ambas c 1 como :
o
Para acelerar las cosas, no calculo el jacobiano en cada iteración; en este momento estoy jugando con cada cinco iteraciones, lo que parece funcionar bastante bien y mantener la solución estable.
El problema es: me voy a mudar a un sistema más grande donde ambos dominios están en 2D / 2.5D, y calcular la matriz jacobiana va a agotar rápidamente mis recursos informáticos disponibles. Estoy construyendo este modelo para usarlo en una configuración de optimización más adelante, por lo que tampoco puedo estar detrás del volante en cada iteración ajustando el factor de amortiguación, etc.
¿Estoy en lo cierto al buscar en otro lugar un algoritmo más robusto para mi problema, o es tan bueno como parece? He examinado un poco la cuasi linealización, pero no estoy seguro de qué tan aplicable es wrt a mi sistema.
¿Hay algún otro algoritmo hábil que pueda haber pasado por alto que pueda resolver un sistema de ecuaciones no lineales sin recurrir a volver a calcular el jacobiano como ofensivo?