| Line 26... |
Line 26... |
PetscFList PSList = 0;
|
PetscFList PSList = 0;
|
PetscBool PSRegisterAllCalled = PETSC_FALSE;
|
PetscBool PSRegisterAllCalled = PETSC_FALSE;
|
PetscClassId PS_CLASSID = 0;
|
PetscClassId PS_CLASSID = 0;
|
PetscLogEvent PS_Solve = 0,PS_Sort = 0,PS_Vectors = 0,PS_Other = 0;
|
PetscLogEvent PS_Solve = 0,PS_Sort = 0,PS_Vectors = 0,PS_Other = 0;
|
static PetscBool PSPackageInitialized = PETSC_FALSE;
|
static PetscBool PSPackageInitialized = PETSC_FALSE;
|
const char *PSMatName[PS_NUM_MAT] = {"A","B","C","T","Q","X","Y","U","VT","W"};
|
const char *PSMatName[PS_NUM_MAT] = {"A","B","C","T","D","Q","Z","X","Y","U","VT","W"};
|
|
|
#undef __FUNCT__
|
#undef __FUNCT__
|
#define __FUNCT__ "PSFinalizePackage"
|
#define __FUNCT__ "PSFinalizePackage"
|
/*@C
|
/*@C
|
PSFinalizePackage - This function destroys everything in the Slepc interface
|
PSFinalizePackage - This function destroys everything in the Slepc interface
|
| Line 678... |
Line 678... |
PetscInt sz;
|
PetscInt sz;
|
PetscErrorCode ierr;
|
PetscErrorCode ierr;
|
|
|
PetscFunctionBegin;
|
PetscFunctionBegin;
|
if (m==PS_MAT_T) sz = 3*ps->ld*sizeof(PetscScalar);
|
if (m==PS_MAT_T) sz = 3*ps->ld*sizeof(PetscScalar);
|
|
else if (m==PS_MAT_D) sz = ps->ld*sizeof(PetscScalar);
|
else sz = ps->ld*ps->ld*sizeof(PetscScalar);
|
else sz = ps->ld*ps->ld*sizeof(PetscScalar);
|
if (ps->mat[m]) { ierr = PetscFree(ps->mat[m]);CHKERRQ(ierr); }
|
if (ps->mat[m]) { ierr = PetscFree(ps->mat[m]);CHKERRQ(ierr); }
|
else { ierr = PetscLogObjectMemory(ps,sz);CHKERRQ(ierr); }
|
else { ierr = PetscLogObjectMemory(ps,sz);CHKERRQ(ierr); }
|
ierr = PetscMalloc(sz,&ps->mat[m]);CHKERRQ(ierr);
|
ierr = PetscMalloc(sz,&ps->mat[m]);CHKERRQ(ierr);
|
ierr = PetscMemzero(ps->mat[m],sz);CHKERRQ(ierr);
|
ierr = PetscMemzero(ps->mat[m],sz);CHKERRQ(ierr);
|
| Line 695... |
Line 696... |
PetscInt sz;
|
PetscInt sz;
|
PetscErrorCode ierr;
|
PetscErrorCode ierr;
|
|
|
PetscFunctionBegin;
|
PetscFunctionBegin;
|
if (m==PS_MAT_T) sz = 3*ps->ld*sizeof(PetscReal);
|
if (m==PS_MAT_T) sz = 3*ps->ld*sizeof(PetscReal);
|
|
else if (m==PS_MAT_D) sz = ps->ld*sizeof(PetscReal);
|
else sz = ps->ld*ps->ld*sizeof(PetscReal);
|
else sz = ps->ld*ps->ld*sizeof(PetscReal);
|
if (ps->rmat[m]) { ierr = PetscFree(ps->rmat[m]);CHKERRQ(ierr); }
|
if (ps->rmat[m]) { ierr = PetscFree(ps->rmat[m]);CHKERRQ(ierr); }
|
else { ierr = PetscLogObjectMemory(ps,sz);CHKERRQ(ierr); }
|
else { ierr = PetscLogObjectMemory(ps,sz);CHKERRQ(ierr); }
|
ierr = PetscMalloc(sz,&ps->rmat[m]);CHKERRQ(ierr);
|
ierr = PetscMalloc(sz,&ps->rmat[m]);CHKERRQ(ierr);
|
ierr = PetscMemzero(ps->rmat[m],sz);CHKERRQ(ierr);
|
ierr = PetscMemzero(ps->rmat[m],sz);CHKERRQ(ierr);
|