> 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
> 

Reply via email to