1*b45d2f2cSJed Brown #include <petsc-private/characteristicimpl.h> /*I "petsccharacteristic.h" I*/ 2af33a6ddSJed Brown 3af33a6ddSJed Brown EXTERN_C_BEGIN 4af33a6ddSJed Brown extern PetscErrorCode CharacteristicCreate_DA(Characteristic); 5af33a6ddSJed Brown EXTERN_C_END 6af33a6ddSJed Brown 7af33a6ddSJed Brown /* 8af33a6ddSJed Brown This is used by CharacteristicSetType() to make sure that at least one 9af33a6ddSJed Brown CharacteristicRegisterAll() is called. In general, if there is more than one 10af33a6ddSJed Brown DLL, then CharacteristicRegisterAll() may be called several times. 11af33a6ddSJed Brown */ 12af33a6ddSJed Brown extern PetscBool CharacteristicRegisterAllCalled; 13af33a6ddSJed Brown 14af33a6ddSJed Brown #undef __FUNCT__ 15af33a6ddSJed Brown #define __FUNCT__ "CharacteristicRegisterAll" 16af33a6ddSJed Brown /*@C 17af33a6ddSJed Brown CharacteristicRegisterAll - Registers all of the Krylov subspace methods in the Characteristic package. 18af33a6ddSJed Brown 19af33a6ddSJed Brown Not Collective 20af33a6ddSJed Brown 21af33a6ddSJed Brown Level: advanced 22af33a6ddSJed Brown 23af33a6ddSJed Brown .keywords: Characteristic, register, all 24af33a6ddSJed Brown 25af33a6ddSJed Brown .seealso: CharacteristicRegisterDestroy() 26af33a6ddSJed Brown @*/ 27af33a6ddSJed Brown PetscErrorCode CharacteristicRegisterAll(const char path[]) 28af33a6ddSJed Brown { 29af33a6ddSJed Brown PetscErrorCode ierr; 30af33a6ddSJed Brown 31af33a6ddSJed Brown PetscFunctionBegin; 32af33a6ddSJed Brown CharacteristicRegisterAllCalled = PETSC_TRUE; 33af33a6ddSJed Brown 34af33a6ddSJed Brown ierr = CharacteristicRegisterDynamic(CHARACTERISTICDA, path, "CharacteristicCreate_DA", CharacteristicCreate_DA);CHKERRQ(ierr); 35af33a6ddSJed Brown PetscFunctionReturn(0); 36af33a6ddSJed Brown } 37