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