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 10*dce8aebaSBarry Smith DMFieldInitializePackage - Initialize `DMField` package 113da551e6SToby Isaac 123da551e6SToby Isaac Logically Collective 133da551e6SToby Isaac 143da551e6SToby Isaac Level: developer 153da551e6SToby Isaac 16db781477SPatrick Sanan .seealso: `DMFieldFinalizePackage()` 173da551e6SToby Isaac @*/ 18d71ae5a4SJacob Faibussowitsch PetscErrorCode DMFieldInitializePackage(void) 19d71ae5a4SJacob Faibussowitsch { 203da551e6SToby Isaac PetscFunctionBegin; 213da551e6SToby Isaac if (DMFieldPackageInitialized) PetscFunctionReturn(0); 223da551e6SToby Isaac DMFieldPackageInitialized = PETSC_TRUE; 233da551e6SToby Isaac 249566063dSJacob Faibussowitsch PetscCall(PetscClassIdRegister("Field over DM", &DMFIELD_CLASSID)); 259566063dSJacob Faibussowitsch PetscCall(DMFieldRegisterAll()); 269566063dSJacob Faibussowitsch PetscCall(PetscRegisterFinalize(DMFieldFinalizePackage)); 273da551e6SToby Isaac PetscFunctionReturn(0); 283da551e6SToby Isaac } 293da551e6SToby Isaac 303da551e6SToby Isaac /*@C 31*dce8aebaSBarry Smith DMFieldFinalizePackage - Finalize `DMField` package, it is called from `PetscFinalize()` 323da551e6SToby Isaac 333da551e6SToby Isaac Logically Collective 343da551e6SToby Isaac 353da551e6SToby Isaac Level: developer 363da551e6SToby Isaac 37db781477SPatrick Sanan .seealso: `DMFieldInitializePackage()` 383da551e6SToby Isaac @*/ 39d71ae5a4SJacob Faibussowitsch PetscErrorCode DMFieldFinalizePackage(void) 40d71ae5a4SJacob Faibussowitsch { 413da551e6SToby Isaac PetscFunctionBegin; 429566063dSJacob Faibussowitsch PetscCall(PetscFunctionListDestroy(&DMFieldList)); 433da551e6SToby Isaac DMFieldPackageInitialized = PETSC_FALSE; 443da551e6SToby Isaac DMFieldRegisterAllCalled = PETSC_FALSE; 453da551e6SToby Isaac PetscFunctionReturn(0); 463da551e6SToby Isaac } 47