1 #include <petsc/private/vecimpl.h> /*I "petscvec.h" I*/ 2 3 PetscClassId VEC_TAGGER_CLASSID; 4 5 static PetscBool VecTaggerPackageInitialized = PETSC_FALSE; 6 7 PetscBool VecTaggerRegisterAllCalled; 8 9 /*@C 10 VecTaggerInitializePackage - Initialize VecTagger package 11 12 Logically Collective 13 14 Level: developer 15 16 .seealso: VecTaggerFinalizePackage() 17 @*/ VecTaggerInitializePackage(void)18PetscErrorCode VecTaggerInitializePackage(void) 19 { 20 PetscErrorCode ierr; 21 22 PetscFunctionBegin; 23 if (VecTaggerPackageInitialized) PetscFunctionReturn(0); 24 VecTaggerPackageInitialized = PETSC_TRUE; 25 26 ierr = PetscClassIdRegister("Vector Indices Tagger",&VEC_TAGGER_CLASSID);CHKERRQ(ierr); 27 ierr = VecTaggerRegisterAll();CHKERRQ(ierr); 28 ierr = PetscRegisterFinalize(VecTaggerFinalizePackage);CHKERRQ(ierr); 29 PetscFunctionReturn(0); 30 } 31 32 /*@C 33 VecTaggerFinalizePackage - Finalize VecTagger package, it is called from PetscFinalize() 34 35 Logically Collective 36 37 Level: developer 38 39 .seealso: VecTaggerInitializePackage() 40 @*/ VecTaggerFinalizePackage(void)41PetscErrorCode VecTaggerFinalizePackage(void) 42 { 43 PetscErrorCode ierr; 44 45 PetscFunctionBegin; 46 ierr = PetscFunctionListDestroy(&VecTaggerList);CHKERRQ(ierr); 47 VecTaggerPackageInitialized = PETSC_FALSE; 48 VecTaggerRegisterAllCalled = PETSC_FALSE; 49 PetscFunctionReturn(0); 50 } 51