> On Mar 19, 2018, at 12:00 PM, Ali Berk Kahraman <[email protected]> > wrote: > > Dear All, > > I have to create my Jacobian numerically using an FD function I have written, > but the problem is that the function evaluation FormRHSFunction creates > PETSC_COMM_WORLD objects in it, and takes 1 PETSC_COMM_WORLD matrix as an > input. So I cannot work it on parallel (every processor calculating its own > portion of Jacobian), I tried but the machine gets confused.
Huh. It is fine to have the function work on PETSC_COMM_WORLD, and it can be in parallel. > > My initial idea was to create the objects in PETSC_COMM_SELF type within the > RHS function, but the input COMM_WORLD matrix standed where it was. So my > question is, is there a way to get a complete copy of a distributed matrix on > all the processors as seq matrices? > > I cannot use the Petsc's version FD function because the FormRHSFunction I > call to create the Jacobian is slightly different than the original > FormRHSFunction. The original function is too expensive, so I only calculate > the relevant parts of it in the Jacobian function. You can do this with MatCreateMFFD() and set your inexpensive function as the function. > > Best Regards, > > Ali Berk Kahraman > M.Sc. Student, Mechanical Engineering > Bogazici Uni. Istanbul, Turkey >
