Estou trabalhando em um projeto no qual tenho dois domínios acoplados adv-diff por meio de seus respectivos termos de origem (um domínio adiciona massa, o outro subtrai massa). Por uma questão de brevidade, estou modelando-os em estado estacionário. As equações são sua equação de transporte de difusão de advecção padrão com um termo de origem semelhante a este:
Onde é fluxo difusivo e advective para espécies , e é o termo fonte de espécies .
Consegui escrever um solucionador para o meu problema usando o método Newton-Raphson e acoplei completamente os dois domínios usando uma matriz de massa de bloco, ou seja:
O termo é usado para determinar a matriz jacobiana e atualizar e :
ou
Para acelerar as coisas, eu não calculo o Jacobiano a cada iteração - agora estou jogando com cada cinco iterações, o que parece funcionar bem o suficiente e manter a solução estável.
O problema é: eu vou mudar para um sistema maior, onde os dois domínios estão em 2D / 2.5D, e o cálculo da matriz jacobiana esgotará rapidamente meus recursos de computador disponíveis. Estou construindo este modelo para ser usado em uma configuração de otimização mais tarde, então também não posso estar ao volante a cada iteração que ajusta o fator de amortecimento, etc.
Estou certo em procurar outro algoritmo mais robusto para o meu problema ou isso é o melhor possível? Analisei um pouco a quase-linearização, mas não tenho certeza de como isso é aplicável ao meu sistema.
Existem outros algoritmos lisos que eu posso ter esquecido que podem resolver um sistema de equações não lineares sem recorrer a recalcular o jacobiano como ofensivo?