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