Я работаю над проектом, в котором у меня есть два связанных с adv-diff домена через соответствующие термины источника (один домен добавляет массу, другой вычитает массу). Для краткости я их моделирую в устойчивом состоянии. Уравнения - это ваше стандартное уравнение переноса адвекции-диффузии с исходным термином, похожим на это:
куда диффузный и адвективный поток для видов , а также является исходным термином для вида ,
Я смог написать решатель для моей проблемы, используя метод Ньютона-Рафсона, и полностью связал две области, используя матрицу блочной массы, то есть:
Семестр используется для определения матрицы Якоби и обновления как а также :
или
Чтобы ускорить процесс, я не вычисляю якобиан каждую итерацию - сейчас я играю с каждыми пятью итерациями, которые, кажется, работают достаточно хорошо и поддерживают устойчивое решение.
Проблема в том, что я собираюсь перейти к более крупной системе, в которой оба домена находятся в 2D / 2.5D, и вычисление матрицы Якоби приведет к быстрому истощению моих доступных компьютерных ресурсов. Я строю эту модель для использования в настройках оптимизации позже, поэтому я не могу сидеть за рулем на каждой итерации, настраивая коэффициент демпфирования и т. Д.
Правильно ли я искать в другом месте более надежный алгоритм для моей проблемы, или это так хорошо, как это получается? Я немного изучил квазилинеаризацию, но не уверен, насколько она применима к моей системе.
Могут ли я упустить какие-либо другие хитрые алгоритмы, которые могут решить систему нелинейных уравнений, не прибегая к перерасчету якобиана как обидного?