[petsc-users] Implementation of Power Iteration method in PETSc

Fande Kong fdkong.jd at gmail.com
Wed Sep 26 11:27:00 CDT 2018


I have implemented this algorithm in SLEPC. Take a look at this example
http://slepc.upv.es/documentation/current/src/eps/examples/tutorials/ex34.c.html

The motivation of the algorithm is also for neutron calculations (a
moose-based application).

Fande,

On Wed, Sep 26, 2018 at 10:02 AM Yingjie Wu <yjwu16 at gmail.com> wrote:

> Dear Petsc developer:
> Hi,
>
> Thank you very much for your previous reply,  they really helped me a lot.
>
> I've been doing neutron calculations recently, and I want to use the power
> Iteration method to calculate the neutron flux, essentially to solve linear
> equations, but after each solution is done, a scalar *K* is updated to
> form a new right end term *b*, and the next linear equation system is
> solved until the convergence criterion is satisfied. The flow of the source
> iteration algorithm is as follows:
>
>
> 1: *Φ*(0) = arbitrary nonzero vector 2: K(0) = arbitrary nonzero constant
> 3: *for* n = 1; 2; 3; ::: do 4: *b *= 1 / K(n-1) *F * Φ(n-1)   5: *Φ*(n)
> * M   = *b* 6: K(n) = k(n-1)* (F * *Φ*(n)  ,F *Φ*(n)  ) / (F  *Φ*(n-1)  ,F
> *Φ*(n-1)  )
>
> 7: check convergence of eigenvalue and eigenvector 8: *end for*
>
>
> (F , M are the coefficient matrix.)
>
>
> The difficulty is that I need to set up an extra loop to regulate KSP.
> Does PETSc have such an example? How do I implement this algorithm in
> PETsc? Please tell me the key functions if possible.
>
>
> Thanks,
>
> Yingjie
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20180926/febf92ee/attachment.html>


More information about the petsc-users mailing list