[petsc-users] The default nonzero pattern for SuperLU_dist.
Xuefei (Rebecca) Yuan
xyuan at lbl.gov
Thu Sep 1 11:53:49 CDT 2011
Dear Hong,
Yes, I am using this SAME_NONZERO_PATTERN to optimize the code,hehe!
Thanks very much!
Best,
Rebecca
On Sep 1, 2011, at 7:35 AM, Hong Zhang wrote:
> Rebecca:
>
>> Thanks for your kind reply. So if I set up the following:
>>
>> ierr = DAGetMatrix(DMMGGetDA(dmmg), MATAIJ, &jacobian);CHKERRQ(ierr);
>> KSP ksp;
>> ierr = SNESGetKSP(DMMGGetSNES(dmmg),&ksp);CHKERRQ(ierr);
>> ierr = KSPSetOperators(ksp,jacobian,jacobian,SAME_NONZERO_PATTERN);CHKERRQ(ierr);
>>
>> ierr = DMMGSolve(dmmg);CHKERRQ(ierr);
>>
>> This will specify the nonzero pattern as the same?
> Yes.
>
>> How could I check if I have set this up right?
>
> This is a user input. If you know the non-zero pattern will not change, then
> this flag tells petsc library to skip symbolic factorization and reuse previous
> matrix factor structure. I would suggest use DIFFERENT_NONZERO_PATTERN
> first. After the solver works well and you know the matrix structure
> should not change,
> then use SAME_NONZERO_PATTERN for optimization.
>
> Hong
>
>
>> On Aug 31, 2011, at 2:42 PM, Barry Smith wrote:
>>
>>>
>>> On Aug 31, 2011, at 4:40 PM, Xuefei (Rebecca) Yuan wrote:
>>>
>>>> Hello all,
>>>>
>>>> Is the default nonzero pattern for SuperLU_dist is SAME_NONZERO_PATTERN?
>>>
>>> There is no default nonzero pattern. You always must set it when you call KSPSetOperators() or in your SNES FormFunction. The PETSc SUPERLU_dist interface allows either pattern and should work correctly.
>>>
>>>
>>> Barry
>>>
>>>>
>>>> Thanks!
>>>>
>>>> Best,
>>>>
>>>> Rebecca
>>>>
>>>
>>
>>
More information about the petsc-users
mailing list