Saya sedang mengerjakan sebuah proyek di mana saya memiliki dua domain digabungkan adv-diff melalui istilah sumber masing-masing (satu domain menambah massa, yang lain mengurangi massa). Untuk singkatnya, saya memodelkan mereka dalam kondisi stabil. Persamaannya adalah persamaan transport adveksi-difusi standar Anda dengan istilah sumber terlihat seperti ini:
Di mana adalah fluks difusif dan progresif untuk spesies , dan adalah istilah sumber untuk spesies .
Saya telah mampu menulis sebuah solver untuk masalah saya menggunakan metode Newton-Raphson, dan telah sepenuhnya menggabungkan dua domain menggunakan matriks massa blok, yaitu:
Istilah digunakan untuk menentukan matriks Jacobian dan memperbarui c 1 dan c 2 :
atau
Untuk mempercepat, saya tidak menghitung Jacobian setiap iterasi - saat ini saya bermain dengan setiap lima iterasi, yang tampaknya bekerja cukup baik dan menjaga solusinya tetap.
Masalahnya adalah: Saya akan pindah ke sistem yang lebih besar di mana kedua domain dalam 2D / 2.5D, dan menghitung matriks Jacobian akan dengan cepat menghabiskan sumber daya komputer saya yang tersedia. Saya sedang membangun model ini untuk digunakan dalam pengaturan optimasi nanti, jadi saya juga tidak bisa berada di belakang kemudi di setiap iterasi yang mengatur faktor redaman, dll.
Apakah saya benar mencari di tempat lain untuk algoritma yang lebih kuat dan untuk masalah saya, atau apakah ini sebagus yang didapat? Saya telah melihat sedikit ke dalam Kuasi-linierisasi, tetapi saya tidak yakin bagaimana penerapannya pada sistem saya.
Apakah ada algoritma licin lain yang mungkin saya lewatkan yang dapat memecahkan sistem persamaan nonlinier tanpa menggunakan kembali menghitung Jacobian sebagai offen?