Actual source code: dlregissnes.c

  1: #define PETSCSNES_DLL

 3:  #include include/private/snesimpl.h

  7: /*@C
  8:   SNESInitializePackage - This function initializes everything in the SNES package. It is called
  9:   from PetscDLLibraryRegister() when using dynamic libraries, and on the first call to SNESCreate()
 10:   when using static libraries.

 12:   Input Parameter:
 13:   path - The dynamic library path, or PETSC_NULL

 15:   Level: developer

 17: .keywords: SNES, initialize, package
 18: .seealso: PetscInitialize()
 19: @*/
 20: PetscErrorCode  SNESInitializePackage(const char path[]) {
 21:   static PetscTruth initialized = PETSC_FALSE;
 22:   char              logList[256];
 23:   char              *className;
 24:   PetscTruth        opt;
 25:   PetscErrorCode    ierr;

 28:   if (initialized) return(0);
 29:   initialized = PETSC_TRUE;
 30:   /* Register Classes */
 31:   PetscLogClassRegister(&SNES_COOKIE,         "SNES");
 32:   PetscLogClassRegister(&MATSNESMFCTX_COOKIE, "MatSNESMFCtx");
 33:   /* Register Constructors */
 34:   SNESRegisterAll(path);
 35:   /* Register Events */
 41:   /* Process info exclusions */
 42:   PetscOptionsGetString(PETSC_NULL, "-info_exclude", logList, 256, &opt);
 43:   if (opt) {
 44:     PetscStrstr(logList, "snes", &className);
 45:     if (className) {
 46:       PetscInfoDeactivateClass(SNES_COOKIE);
 47:     }
 48:   }
 49:   /* Process summary exclusions */
 50:   PetscOptionsGetString(PETSC_NULL, "-log_summary_exclude", logList, 256, &opt);
 51:   if (opt) {
 52:     PetscStrstr(logList, "snes", &className);
 53:     if (className) {
 55:     }
 56:   }
 57:   return(0);
 58: }

 60: #ifdef PETSC_USE_DYNAMIC_LIBRARIES
 64: /*
 65:   PetscDLLibraryRegister - This function is called when the dynamic library it is in is opened.

 67:   This registers all of the SNES methods that are in the basic PETSc libpetscsnes library.

 69:   Input Parameter:
 70:   path - library path

 72:  */
 73: PetscErrorCode  PetscDLLibraryRegister_petscsnes(char *path)
 74: {

 77:   PetscInitializeNoArguments(); if (ierr) return 1;
 79:   /*
 80:       If we got here then PETSc was properly loaded
 81:   */
 82:   SNESInitializePackage(path);
 83:   return(0);
 84: }

 87: #endif /* PETSC_USE_DYNAMIC_LIBRARIES */