I am trying to replace the non-linear solver in a flow simulation problem where the matrix sparsity can change during the iterations. I tried successfully to create the matrix within the FormJacobian function but I have a memory leak which I don't know how to fix.
My FormJacobian function is something like this: .. FormJacobian( ..){ matrixconstruction(); // returns csr matrix in c++ regular vectors MatSeqAIJSetPreallocationCSR ...; //loop over the entries and MatSetValues; MatAssemblyBegin(); MatAssemblyEnd(); return 0; } This approach works for small problems but, when dealing with large ones I observe a memory leak. I am pretty sure that It is related to the fact that I am creating new matrices every time FormJacobian is called but I don't know how to destroy it between iterations. Any suggestions? Regards, Adolfo