Direct LU solver

Amit.Itagi at seagate.com Amit.Itagi at seagate.com
Fri Feb 29 08:23:22 CST 2008


Matt/Hong/Satish,

My toy-problem would run with the command line options. However, the
in-code options were still giving a problem. I also found that I had a
Petsc version compiled with the debugging flag off. On recompiling Petsc by
turning the debugging flag on, the in-code options worked. I am wondering
about the cause for this behavior.

Thanks for your help. I will now fiddle around with the actual application.

Rgds,
Amit



                                                                           
             Satish Balay                                                  
             <balay at mcs.anl.go                                             
             v>                                                         To 
             Sent by:                  petsc-users at mcs.anl.gov             
             owner-petsc-users                                          cc 
             @mcs.anl.gov                                                  
             No Phone Info                                         Subject 
             Available                 Re: Direct LU solver                
                                                                           
                                                                           
             02/28/2008 05:58                                              
             PM                                                            
                                                                           
                                                                           
             Please respond to                                             
             petsc-users at mcs.a                                             
                  nl.gov                                                   
                                                                           
                                                                           




On Thu, 28 Feb 2008, Amit.Itagi at seagate.com wrote:

> Matt and Hong,
>
> I will try to customize the example. However, since my application
involves
> multiple ksp solvers (using different algorithms), I would really like to
> set the options with in the code, instead of on the command line. Is
there
> a way of doing this ?

-ksp_type preonly -pc_type lu -mat_type superlu_dist

There are 2 ways of doing this.

One is within the code:

    MatCreate(&mat);
    MatSetType(mat,MATSUPERLU_DIST);
    MatSetFromOptions(mat);

    KSPSetType(ksp,KSPPREONLY);
    KSPGetPC(ksp,&pc);
    PCSetType(pc,PCLU);
    KSPSetFromOptions(ksp);

etc..

Another way is to give each object a prefix [if you have multiple
objects of the same type. You can use this prefix with the command
line options.

For eg:

    KSPCreate(&ksp1)
    KSPCreate(&ksp2)

    KSPSetOptionsPrefix(ksp1,"a_")
    KSPSetOptionsPrefix(ksp2,"b_")

Now you can use -a_ksp_type gmres -b_ksp_type cg

etc..

Satish






More information about the petsc-users mailing list