13da551e6SToby Isaac #include <petsc/private/dmfieldimpl.h> /*I "petscdmfield.h" I*/ 23da551e6SToby Isaac 33da551e6SToby Isaac PetscClassId DMFIELD_CLASSID; 43da551e6SToby Isaac 53da551e6SToby Isaac static PetscBool DMFieldPackageInitialized = PETSC_FALSE; 63da551e6SToby Isaac 73da551e6SToby Isaac PetscBool DMFieldRegisterAllCalled; 83da551e6SToby Isaac 93da551e6SToby Isaac /*@C 103da551e6SToby Isaac DMFieldInitializePackage - Initialize DMField package 113da551e6SToby Isaac 123da551e6SToby Isaac Logically Collective 133da551e6SToby Isaac 143da551e6SToby Isaac Level: developer 153da551e6SToby Isaac 163da551e6SToby Isaac .seealso: DMFieldFinalizePackage() 173da551e6SToby Isaac @*/ 183da551e6SToby Isaac PetscErrorCode DMFieldInitializePackage(void) 193da551e6SToby Isaac { 203da551e6SToby Isaac PetscFunctionBegin; 213da551e6SToby Isaac if (DMFieldPackageInitialized) PetscFunctionReturn(0); 223da551e6SToby Isaac DMFieldPackageInitialized = PETSC_TRUE; 233da551e6SToby Isaac 24*9566063dSJacob Faibussowitsch PetscCall(PetscClassIdRegister("Field over DM",&DMFIELD_CLASSID)); 25*9566063dSJacob Faibussowitsch PetscCall(DMFieldRegisterAll()); 26*9566063dSJacob Faibussowitsch PetscCall(PetscRegisterFinalize(DMFieldFinalizePackage)); 273da551e6SToby Isaac PetscFunctionReturn(0); 283da551e6SToby Isaac } 293da551e6SToby Isaac 303da551e6SToby Isaac /*@C 313da551e6SToby Isaac DMFieldFinalizePackage - Finalize DMField package, it is called from PetscFinalize() 323da551e6SToby Isaac 333da551e6SToby Isaac Logically Collective 343da551e6SToby Isaac 353da551e6SToby Isaac Level: developer 363da551e6SToby Isaac 373da551e6SToby Isaac .seealso: DMFieldInitializePackage() 383da551e6SToby Isaac @*/ 393da551e6SToby Isaac PetscErrorCode DMFieldFinalizePackage(void) 403da551e6SToby Isaac { 413da551e6SToby Isaac PetscFunctionBegin; 42*9566063dSJacob Faibussowitsch PetscCall(PetscFunctionListDestroy(&DMFieldList)); 433da551e6SToby Isaac DMFieldPackageInitialized = PETSC_FALSE; 443da551e6SToby Isaac DMFieldRegisterAllCalled = PETSC_FALSE; 453da551e6SToby Isaac PetscFunctionReturn(0); 463da551e6SToby Isaac } 47