Dear list, How can I reuse vectors and matrices efficiently?
Our program uses a lot of global matrices and vectors and I want to reduce the amount of memory. Are there PETSC functions, which check whether a Mat or Vec is already created or destroyed? Our programs have been written in Fortran90. The program performs a time stepping process, and I want to know what the best way is to create a global vector only once. As an example, a global vector Vec y is created as a result of a matrix-vector product A . x = y, by calling the PETSC function MatMult. After the first call the Vec Y has already been created. 1. Do we have to store the result into a temporary vector temp_vec and copy its values into Vec y and destroy temp_vec? 2. Do we have to destroy Vec y before a call of MatMult and store the result directly in Vec y? 3. Does there exist a better solution? Thanks in advance, Margreet Nool -- Margreet Nool CWI - Centrum Wiskunde & Informatica Science Park 123, 1098 XG Amsterdam P.O. Box 94079 1090 GB Amsterdam -------------------- tel: +31 20 592 4120 Room, M131
