Subversion Repositories slepc-dev

Rev

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

Rev 344 Rev 354
Line 149... Line 149...
      else { ierr = MatShift(&alpha,st->A);CHKERRQ(ierr); }
      else { ierr = MatShift(&alpha,st->A);CHKERRQ(ierr); }
    }
    }
    ierr = KSPSetOperators(st->ksp,st->A,st->A,SAME_NONZERO_PATTERN);CHKERRQ(ierr);
    ierr = KSPSetOperators(st->ksp,st->A,st->A,SAME_NONZERO_PATTERN);CHKERRQ(ierr);
    break;
    break;
  case STMATMODE_SHELL:
  case STMATMODE_SHELL:
 
    ierr = KSPSetOperators(st->ksp,st->mat,st->mat,SAME_NONZERO_PATTERN);CHKERRQ(ierr);    
    break;
    break;
  default:
  default:
    ierr = MatCopy(st->A, st->mat, DIFFERENT_NONZERO_PATTERN); CHKERRQ(ierr);
    ierr = MatCopy(st->A, st->mat,SUBSET_NONZERO_PATTERN); CHKERRQ(ierr);
    if (newshift != 0.0) {  
    if (newshift != 0.0) {  
      alpha = -newshift;
      alpha = -newshift;
      if (st->B) { ierr = MatAXPY(&alpha,st->B,st->mat,st->str);CHKERRQ(ierr); }
      if (st->B) { ierr = MatAXPY(&alpha,st->B,st->mat,st->str);CHKERRQ(ierr); }
      else { ierr = MatShift(&alpha,st->mat);CHKERRQ(ierr); }
      else { ierr = MatShift(&alpha,st->mat);CHKERRQ(ierr); }
    }
    }