Dear FreeFem developers and users:
I would like to ask a question and hope to receive some help or suggestions.
(1)Background: For the following global matrix KGlobal (where A, B, C, etc., are all block matrices), it is common to solve it using:
set(KGlobal, solver=sparsesolver);
result = KGlobal^-1 * RHS;
KGlobal = [
[A, 0, 0, MS’],
[0, B, C, MR’],
[0, D, E, 0 ],
[MS, MR, 0, 0 ]
];
(2)My issue: Suppose now that the block matrix MR and its transpose change at each time step. If I continue to use the above solution method at every time step, I would need to reassemble, factorize, and solve the matrix at each step, which would be an extremely time-consuming process. Therefore, for cases where only a small portion of the matrix changes over time while the rest remains unchanged, does FreeFem++ offer a relatively convenient method to avoid this global operation?
I am still not very proficient with this software. If my description is unclear, I apologize for any confusion.