Subversion Repositories slepc-dev

Rev

Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 308 Rev 311
Line 13... Line 13...
{
{
  Mat         A;               /* operator matrix */
  Mat         A;               /* operator matrix */
  Vec         x;
  Vec         x;
  EPS         eps;             /* eigenproblem solver context */
  EPS         eps;             /* eigenproblem solver context */
  ST          st;
  ST          st;
  KSP         ksp;
 
  PC          pc;
 
  EPSType     type;
  EPSType     type;
  PetscReal   error, tol, re, im;
  PetscReal   error, tol, re, im;
  PetscScalar kr, ki;
  PetscScalar kr, ki;
  int         N, n=10, m, nev, ierr, maxit, i, j, I, J, its, nconv, Istart, Iend;
  int         N, n=10, m, nev, ierr, maxit, i, j, I, J, its, nconv, Istart, Iend;
  PetscScalar v, w, one = 1.0;
  PetscScalar v, w, one = 1.0;
Line 71... Line 69...
 
 
  /*
  /*
     Specify some options: use shift-and-invert to compute eigenpairs
     Specify some options: use shift-and-invert to compute eigenpairs
     close to the origin
     close to the origin
  */
  */
  ierr = EPSSetType(eps,EPSSUBSPACE);CHKERRQ(ierr);
 
  ierr = EPSGetST(eps,&st);CHKERRQ(ierr);
  ierr = EPSGetST(eps,&st);CHKERRQ(ierr);
  ierr = STSetType(st,STSINV);CHKERRQ(ierr);
  ierr = STSetType(st,STSINV);CHKERRQ(ierr);
  ierr = STSetShift(st,1e-3);CHKERRQ(ierr);
  ierr = STSetShift(st,0);CHKERRQ(ierr);
  ierr = STGetKSP(st,&ksp);CHKERRQ(ierr);
 
  ierr = KSPSetType(ksp,KSPPREONLY);CHKERRQ(ierr);
 
  ierr = KSPGetPC(ksp,&pc);CHKERRQ(ierr);
 
  ierr = PCSetType(pc,PCLU);CHKERRQ(ierr);
 
 
 
  /*
  /*
     Set solver parameters at runtime
     Set solver parameters at runtime
  */
  */
  ierr = EPSSetFromOptions(eps);CHKERRQ(ierr);
  ierr = EPSSetFromOptions(eps);CHKERRQ(ierr);