[petsc-users] KSP linear solver
Matthew Knepley
knepley at gmail.com
Mon Jan 20 11:11:23 CST 2014
On Mon, Jan 20, 2014 at 9:51 AM, Que Cat <quecat001 at gmail.com> wrote:
> Dear Matt,
>
> On Sat, Jan 18, 2014 at 1:54 PM, Matthew Knepley <knepley at gmail.com>wrote:
>
>> On Sat, Jan 18, 2014 at 1:46 PM, Que Cat <quecat001 at gmail.com> wrote:
>> Dear Petsc-Users,
>>>
>>>
>>> I debug my code. I solve the small linear system using KSP.
>>> The matrix is:
>>>
>>> row 0: (0, -123354) (1, 6.92922e-310) (2, 123354) (3, 1.38582e-309)
>>> row 1: (0, 1.3858e-309) (1, 91156.6) (2, 6.92901e-310) (3, 91156.6)
>>> row 2: (0, 8768.96) (1, 2.47033e-323) (2, -171955) (3, 1.02212e-316)
>>> (4, 163186) (5, 0)
>>> row 3: (0, 0) (1, -59201.7) (2, 0) (3, 156037) (4, 0) (5, 93996.1)
>>> row 4: (2, 13422.8) (3, 0) (4, -13422.8) (5, 0)
>>> row 5: (2, 0) (3, -58000.3) (4, 0) (5, 59201.7)
>>>
>>>
>> 1) Get rid of the entries that are 1e-300 or below
>>
>>
>
> Is there any way to get rid of these entries automatically? Or we have to
> do this explicitly? Thank you.
>
I would do it manually, since it implies that something is wrong with your
code. However, if you use
the development branch, there is MatChop().
Matt
> Que
>
>
>
>
>
>> the RHS vector:
>>>
>>> -9115.66
>>> -17760.5
>>> -425.926
>>> -35400.9
>>> 9541.58
>>> -17520.2
>>>
>>> the solution I got was:
>>>
>>> -2.00943e+52
>>> -1.17929e+18
>>> -2.00943e+52
>>> 7.121e+16
>>> -2.00943e+52
>>> -7.0943e+16
>>>
>>> I checked with matlab and I got the totally different solution. I guess
>>> there is something wrong with the linear solver I set up as follow:
>>>
>>> KSPSetOperators(ksp, mat_A, mat_A, SAME_NONZERO_PATTERN);
>>>
>>> // set the linear solve options
>>> KSPSetType(ksp, KSPGMRES);
>>> KSPGMRESSetRestart(ksp, 100);
>>> // set preconditioning options
>>> KSPGetPC(ksp, &pc);
>>> PCSetType(pc, PCBJACOBI);
>>> KSPSetFromOptions(ksp);
>>> // Solve the linear system
>>> KSPSolve(ksp,vec_rhs,vec_sol);
>>>
>>> Could anyone give me a suggestion where should be the source of error?
>>> Thank you!
>>>
>>
>> 2) Always start with -pc_type lu -ksp_type preonly
>>
>> 3) It appears that your matrix is close to singular (LU will check)
>>
>> Matt
>>
>>
>>> Que
>>>
>>>
>>
>>
>> --
>> What most experimenters take for granted before they begin their
>> experiments is infinitely more interesting than any results to which their
>> experiments lead.
>> -- Norbert Wiener
>>
>
>
--
What most experimenters take for granted before they begin their
experiments is infinitely more interesting than any results to which their
experiments lead.
-- Norbert Wiener
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20140120/9bfd94fa/attachment.html>
More information about the petsc-users
mailing list