/*@C TSGLAdaptInitializePackage - This function initializes everything in the TSGLAdapt package. It is called from PetscDLLibraryRegister() when using dynamic libraries, and on the first call to TSCreate_GL() when using static libraries. Input Parameter: path - The dynamic library path, or PETSC_NULL Level: developer .keywords: TSGLAdapt, initialize, package .seealso: PetscInitialize() @*/ PetscErrorCode PETSCTS_DLLEXPORT TSGLAdaptInitializePackage(const char path[]) { PetscErrorCode ierr; PetscFunctionBegin; if (TSGLAdaptPackageInitialized) PetscFunctionReturn(0); TSGLAdaptPackageInitialized = PETSC_TRUE; ierr = PetscCookieRegister("TSGLAdapt",&TSGLADAPT_COOKIE);CHKERRQ(ierr); ierr = TSGLAdaptRegisterAll(path);CHKERRQ(ierr); ierr = PetscRegisterFinalize(TSGLAdaptFinalizePackage);CHKERRQ(ierr); PetscFunctionReturn(0); }
/*@C SNESInitializePackage - This function initializes everything in the SNES package. It is called from PetscDLLibraryRegister() when using dynamic libraries, and on the first call to SNESCreate() when using static libraries. Input Parameter: path - The dynamic library path, or PETSC_NULL Level: developer .keywords: SNES, initialize, package .seealso: PetscInitialize() @*/ PetscErrorCode PETSCSNES_DLLEXPORT SNESInitializePackage(const char path[]) { char logList[256]; char *className; PetscTruth opt; PetscErrorCode ierr; PetscFunctionBegin; if (SNESPackageInitialized) PetscFunctionReturn(0); SNESPackageInitialized = PETSC_TRUE; /* Register Classes */ ierr = PetscCookieRegister("SNES",&SNES_COOKIE);CHKERRQ(ierr); /* Register Constructors */ ierr = SNESRegisterAll(path);CHKERRQ(ierr); /* Register Events */ ierr = PetscLogEventRegister("SNESSolve", SNES_COOKIE,&SNES_Solve);CHKERRQ(ierr); ierr = PetscLogEventRegister("SNESLineSearch", SNES_COOKIE,&SNES_LineSearch);CHKERRQ(ierr); ierr = PetscLogEventRegister("SNESFunctionEval", SNES_COOKIE,&SNES_FunctionEval);CHKERRQ(ierr); ierr = PetscLogEventRegister("SNESJacobianEval", SNES_COOKIE,&SNES_JacobianEval);CHKERRQ(ierr); /* Process info exclusions */ ierr = PetscOptionsGetString(PETSC_NULL, "-info_exclude", logList, 256, &opt);CHKERRQ(ierr); if (opt) { ierr = PetscStrstr(logList, "snes", &className);CHKERRQ(ierr); if (className) { ierr = PetscInfoDeactivateClass(SNES_COOKIE);CHKERRQ(ierr); } } /* Process summary exclusions */ ierr = PetscOptionsGetString(PETSC_NULL, "-log_summary_exclude", logList, 256, &opt);CHKERRQ(ierr); if (opt) { ierr = PetscStrstr(logList, "snes", &className);CHKERRQ(ierr); if (className) { ierr = PetscLogEventDeactivateClass(SNES_COOKIE);CHKERRQ(ierr); } } ierr = PetscRegisterFinalize(SNESFinalizePackage);CHKERRQ(ierr); PetscFunctionReturn(0); }