ฉันกำลังทำงานในโครงการที่ฉันมีสองโดเมนที่ต่างกันซึ่งต่างกันไปตามเงื่อนไขแหล่งที่มาของโดเมนนั้น ๆ (หนึ่งโดเมนจะเพิ่มมวล เพื่อความกระชับฉันจะสร้างแบบจำลองพวกเขาในสถานะมั่นคง สมการเป็นสมการการขนส่งการกระจายการพาแบบกระจายของคุณกับคำที่มามีลักษณะดังนี้:
ที่ไหน เป็นฟลักซ์การแพร่กระจายและ advective สำหรับสายพันธุ์ และ เป็นคำที่มาสำหรับสปีชีส์ .
ฉันสามารถเขียนวิธีแก้ปัญหาของฉันโดยใช้วิธี Newton-Raphson และเชื่อมโยงสองโดเมนเข้าด้วยกันโดยใช้ block mass matrix เช่น:
ระยะเวลา จะใช้ในการกำหนดเมทริกซ์ Jacobian และอัปเดตทั้งสอง และ :
หรือ
เพื่อเร่งสิ่งต่าง ๆ ฉันไม่ได้คำนวณจาโคเบียนทุกการวนซ้ำ - ตอนนี้ฉันกำลังเล่นกับการวนซ้ำห้าครั้งซึ่งดูเหมือนว่าจะทำงานได้ดีพอและทำให้ทางออกคงที่
ปัญหาคือ: ฉันจะย้ายไปยังระบบที่มีขนาดใหญ่กว่าซึ่งทั้งสองโดเมนอยู่ใน 2D / 2.5D และการคำนวณ Jacobian matrix จะทำให้ทรัพยากรคอมพิวเตอร์ที่มีอยู่หมดลงอย่างรวดเร็ว ฉันกำลังสร้างแบบจำลองนี้เพื่อใช้ในการตั้งค่าการเพิ่มประสิทธิภาพในภายหลังดังนั้นฉันจึงไม่สามารถอยู่หลังพวงมาลัยได้ในการวนซ้ำทุกครั้งเพื่อปรับปัจจัยการทำให้หมาด ๆ ฯลฯ
ฉันมีสิทธิ์ที่จะมองหาที่อื่นเพื่อหาจุดแข็งและอัลกอริทึมสำหรับปัญหาของฉันหรือสิ่งนี้ดีเท่าที่ได้รับหรือไม่? ฉันได้ดูเล็กน้อยในการเป็นแบบกึ่งเชิงเส้น แต่ไม่แน่ใจว่ามันใช้กับระบบของฉันได้อย่างไร
Are there any other slick algorithms that I may have missed that can solve a system of nonlinear equations without resorting to re-calculating the Jacobian as offen?