Is it possible for you to share the IJacobian code? That would help us to 
understand the issue better and faster.

Thanks,
Shri

On Aug 16, 2013, at 4:07 PM, Barry Smith wrote:

> 
> On Aug 16, 2013, at 4:01 PM, "Jin, Shuangshuang" <[email protected]> 
> wrote:
> 
>> Hello, Jed, in my IJacobian subroutine, I defined a PetscScalar J[4*n][4*n], 
>> and filled in the values for this J matrix by MatSetValues(). 
> 
>  What is n?
> 
>   It should not be taking anywhere this much time. How sparse is the matrix? 
> Do you preallocate the nonzero structure? Do you reuse the same matrix for 
> each time step?
>> 
>> 245 seconds out of the total 351 seconds in the DAE TS solving part are due 
>> to this J matrix computation.
>> 
>> For that J matrix, half of them are constants values which doesn't change in 
>> each iteration. However, since my J is created inside each IJacobian() call, 
>> I couldn't reuse it. If that part of work belongs to redundant computation, 
>> I would like to know if there's a way to set up the Jacobian matrix outside 
>> of the IJacobian() subroutine, so that I can keep the constant part of 
>> values in J for all the iterations but only updates the changing values 
>> which depends on X?
> 
> MatStoreValues() and MatRetrieveValues() but you can only call this after you 
> have assembled the matrix with the correct nonzero structure. So you need to 
> put the constants values in, put zeros in all the locations with non constant 
> values (that are not permeant zeros), call MatAssemblyBegin/End() then call 
> MatStoreValues() then for each computation of the Jacobian you first call 
> MatRetrieveValues() and then put in the non constant values. Then call 
> MatAssemblyBegin/End()
> 
>   Barry
> 
>> 
>> Thanks,
>> Shuangshuang
>> 
>> -----Original Message-----
>> From: Jed Brown [mailto:[email protected]] On Behalf Of Jed Brown
>> Sent: Thursday, August 15, 2013 7:27 PM
>> To: Jin, Shuangshuang
>> Cc: [email protected]
>> Subject: RE: [petsc-users] Performance of PETSc TS solver
>> 
>> "Jin, Shuangshuang" <[email protected]> writes:
>> 
>>> Hi, Jed,
>>> 
>>> I followed your suggestion and profiled the IJacobian stage, please see the 
>>> related profile below:
>> 
>> Cool, all of these are pretty inexpensive, so your time is probably in compu
> 

Reply via email to