| Line 518... |
Line 518... |
break;
|
break;
|
case DVD_HARM_LEIGS: /* largest eigenvalues */
|
case DVD_HARM_LEIGS: /* largest eigenvalues */
|
dvdh->Wa = 0.0; dvdh->Wb = 1.0; dvdh->Pa = 1.0; dvdh->Pb = 0.0; break;
|
dvdh->Wa = 0.0; dvdh->Wb = 1.0; dvdh->Pa = 1.0; dvdh->Pb = 0.0; break;
|
case DVD_HARM_NONE:
|
case DVD_HARM_NONE:
|
default:
|
default:
|
SETERRQ(PETSC_COMM_WORLD,1, "Harmonic type not supported");
|
SETERRQ(PETSC_COMM_SELF,1, "Harmonic type not supported");
|
}
|
}
|
|
|
/* Check the transformation does not change the sign of the imaginary part */
|
/* Check the transformation does not change the sign of the imaginary part */
|
#if !defined(PETSC_USE_COMPLEX)
|
#if !defined(PETSC_USE_COMPLEX)
|
if (dvdh->Pb*dvdh->Wa - dvdh->Wb*dvdh->Pa < 0.0)
|
if (dvdh->Pb*dvdh->Wa - dvdh->Wb*dvdh->Pa < 0.0)
|
| Line 563... |
Line 563... |
PetscInt i,j;
|
PetscInt i,j;
|
|
|
PetscFunctionBegin;
|
PetscFunctionBegin;
|
|
|
if (d->sH != d->sG) {
|
if (d->sH != d->sG) {
|
SETERRQ(PETSC_COMM_WORLD,1,"Projected matrices H and G must have the same structure");
|
SETERRQ(PETSC_COMM_SELF,1,"Projected matrices H and G must have the same structure");
|
PetscFunctionReturn(1);
|
|
}
|
}
|
|
|
/* [H G] <- [Pa*H - Pb*G, Wa*H - Wb*G] */
|
/* [H G] <- [Pa*H - Pb*G, Wa*H - Wb*G] */
|
if (DVD_ISNOT(d->sH,DVD_MAT_LTRIANG)) /* Upper triangular part */
|
if (DVD_ISNOT(d->sH,DVD_MAT_LTRIANG)) /* Upper triangular part */
|
for(i=d->V_new_s+d->cX_in_H; i<d->V_new_e+d->cX_in_H; i++)
|
for(i=d->V_new_s+d->cX_in_H; i<d->V_new_e+d->cX_in_H; i++)
|