On Oct 6, 2010, at 9:26 PM, vedaprakash subramanian wrote:

> Can anyone tell me whether the concept I understood is correct or not.
> 
> If I am having a MATLAB function func(Matrix A, Vector x, Vector b, Matrix Q, 
> Matrix M, int max_it, int tol, Vec* sol, int* err, int* iter, int* flag)   to 
> be converted into a KSP solver, then I have to do these following steps.
> 
> 1. In KSPSetUp_func(KSP ksp), initialize  KSPDefaultGetWork(ksp,11);  // This 
> tells the KSP that it is going to take 11 arguments
> 2. In KSPSolve_func(KSP ksp), declare 
>     Mat A, Q, M;
>     Vec x, b, *sol;
>     PetscInt max_it, *flag, *iter;
>     PetscScalar tol, *err;
> 
>     A  = ksp->work[0];
>     x   = ksp->work[1];
>     b   = ksp->work[2];
>     Q  = ksp->work[3];
>     M   = ksp->work[4];
>     max_it   = ksp->work[5];
>     tol  = ksp->work[6];
>     *sol   = ksp->work[7];
>     *err   = ksp->work[8];
>     *iter   = ksp->work[9];
>     *flag   = ksp->work[10];
> 
> ------------------------------
> Is the above said is correct. Is that the way to get the arguments of the 
> KSPSolve.

  No this is very wrong. The KSPDefaultGetWork(ksp, just gets work vectors 
needed by the solver. It has nothing to do with number of arguments. 

> 
> Moreover, I have a doubt. What are these variables that are been used in cg.c
>   
>   stored_max_it = ksp->max_it;
>   X             = ksp->vec_sol;
>   B             = ksp->vec_rhs;
> 
> Where are these variables (ksp->max_it, ksp->vec_sol and ksp->vec_rhs) 
> getting initialized.

  This is done in the various base KSP routines like KSPCreate() 
KSPSetTolerances(). The vec_sol and vec_rhs are set in the KSPSolve() routine.

   You are going to need to understand the workings of KSP for BCGS much better 
before tackling a new metthod.

   Barry

> 
> -Vedaprakash
> 
> On Wed, Oct 6, 2010 at 7:56 PM, vedaprakash subramanian 
> <vedaprakashsubramanian at gmail.com> wrote:
> I need my KSP to take in Tolerence, flag, err, 3 matrices, right hand side 
> vector. How can I make it to take all the parameters.
> 
> On Mon, Sep 20, 2010 at 11:00 AM, <petsc-users-request at mcs.anl.gov> wrote:
> Send petsc-users mailing list submissions to
>        petsc-users at mcs.anl.gov
> 
> To subscribe or unsubscribe via the World Wide Web, visit
>        https://lists.mcs.anl.gov/mailman/listinfo/petsc-users
> or, via email, send a message with subject or body 'help' to
>        petsc-users-request at mcs.anl.gov
> 
> You can reach the person managing the list at
>        petsc-users-owner at mcs.anl.gov
> 
> When replying, please edit your Subject line so it is more specific
> than "Re: Contents of petsc-users digest..."
> 
> 
> Today's Topics:
> 
>   1.  How to pass the parameters for KSP (vedaprakash subramanian)
>   2. Re:  How to pass the parameters for KSP (Barry Smith)
> 
> 
> ----------------------------------------------------------------------
> 
> Message: 1
> Date: Sun, 19 Sep 2010 19:05:48 -0600
> From: vedaprakash subramanian <vedaprakashsubramanian at gmail.com>
> Subject: [petsc-users] How to pass the parameters for KSP
> To: petsc-users at mcs.anl.gov
> Message-ID:
>        <AANLkTinjiGMTMVB1yVx6JEvPhjGi_=T+QY6HK7wnHgOa at mail.gmail.com>
> Content-Type: text/plain; charset="iso-8859-1"
> 
> I am converting a MATLAB function into a KSP solver. I am doing it similar
> to BiCGStab. But I wanted to know how to pass the arguments of the function
> into KSP solver.
> 
> Thanks,
> Vedaprakash
> -------------- next part --------------
> An HTML attachment was scrubbed...
> URL: 
> <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20100919/9d902e74/attachment-0001.htm>
> 
> ------------------------------
> 
> Message: 2
> Date: Sun, 19 Sep 2010 21:49:47 -0500
> From: Barry Smith <bsmith at mcs.anl.gov>
> Subject: Re: [petsc-users] How to pass the parameters for KSP
> To: PETSc users list <petsc-users at mcs.anl.gov>
> Message-ID: <27B820EF-3A6A-424B-8A43-2A43E82089B3 at mcs.anl.gov>
> Content-Type: text/plain; charset=us-ascii
> 
> 
>  What arguments? Do you mean the right hand side x and the matrix? Or do you 
> mean parameters like the relative tolerance in convergence?
> 
>  See src/ksp/ksp/examples/tutorials/ex1.c for a simple example.
> 
>   Barry
> 
> On Sep 19, 2010, at 8:05 PM, vedaprakash subramanian wrote:
> 
> > I am converting a MATLAB function into a KSP solver. I am doing it similar 
> > to BiCGStab. But I wanted to know how to pass the arguments of the function 
> > into KSP solver.
> >
> > Thanks,
> > Vedaprakash
> 
> 
> 
> ------------------------------
> 
> _______________________________________________
> petsc-users mailing list
> petsc-users at mcs.anl.gov
> https://lists.mcs.anl.gov/mailman/listinfo/petsc-users
> 
> 
> End of petsc-users Digest, Vol 21, Issue 32
> *******************************************
> 
> 

Reply via email to