Actual source code: dmregall.c

      2: #include <petscdm.h>
      3: #include <petscdmplex.h>
      4: #include <petsc/private/dmimpl.h>
      5: #include <petsc/private/dmpleximpl.h>
      6: #include <petsc/private/petscfeimpl.h>
      7: #include <petsc/private/petscfvimpl.h>
      8: #include <petsc/private/petscdsimpl.h>
      9: PETSC_EXTERN PetscErrorCode DMCreate_DA(DM);
     10: PETSC_EXTERN PetscErrorCode DMCreate_Composite(DM);
     11: PETSC_EXTERN PetscErrorCode DMCreate_Sliced(DM);
     12: PETSC_EXTERN PetscErrorCode DMCreate_Shell(DM);
     13: PETSC_EXTERN PetscErrorCode DMCreate_Redundant(DM);
     14: PETSC_EXTERN PetscErrorCode DMCreate_Plex(DM);
     15: PETSC_EXTERN PetscErrorCode DMCreate_Patch(DM);
     16: PETSC_EXTERN PetscErrorCode DMCreate_Swarm(DM);
     17: #if defined(PETSC_HAVE_MOAB)
     18: PETSC_EXTERN PetscErrorCode DMCreate_Moab(DM);
     19: #endif
     20: PETSC_EXTERN PetscErrorCode DMCreate_Network(DM);
     21: PETSC_EXTERN PetscErrorCode DMCreate_Forest(DM);
     22: #if defined(PETSC_HAVE_P4EST)
     23: PETSC_EXTERN PetscErrorCode DMCreate_p4est(DM);
     24: PETSC_EXTERN PetscErrorCode DMCreate_p8est(DM);
     25: #endif
     26: PETSC_EXTERN PetscErrorCode DMCreate_Product(DM);
     27: PETSC_EXTERN PetscErrorCode DMCreate_Stag(DM);

     29: /*@C
     30:   DMRegisterAll - Registers all of the DM components in the DM package.

     32:   Not Collective

     34:   Input parameter:
     35: . path - The dynamic library path

     37:   Level: advanced

     39: .seealso:  DMRegister(), DMRegisterDestroy()
     40: @*/
     41: PetscErrorCode  DMRegisterAll(void)
     42: {

     46:   if (DMRegisterAllCalled) return(0);
     47:   DMRegisterAllCalled = PETSC_TRUE;

     49:   DMRegister(DMDA,       DMCreate_DA);
     50:   DMRegister(DMCOMPOSITE,DMCreate_Composite);
     51:   DMRegister(DMSLICED,   DMCreate_Sliced);
     52:   DMRegister(DMSHELL,    DMCreate_Shell);
     53:   DMRegister(DMREDUNDANT,DMCreate_Redundant);
     54:   DMRegister(DMPLEX,     DMCreate_Plex);
     55:   DMRegister(DMPATCH,    DMCreate_Patch);
     56:   DMRegister(DMSWARM,    DMCreate_Swarm);
     57: #if defined(PETSC_HAVE_MOAB)
     58:   DMRegister(DMMOAB,     DMCreate_Moab);
     59: #endif
     60:   DMRegister(DMNETWORK,  DMCreate_Network);
     61:   DMRegister(DMFOREST,   DMCreate_Forest);
     62: #if defined(PETSC_HAVE_P4EST)
     63:   DMRegister(DMP4EST,    DMCreate_p4est);
     64:   DMRegister(DMP8EST,    DMCreate_p8est);
     65: #endif
     66:   DMRegister(DMPRODUCT,  DMCreate_Product);
     67:   DMRegister(DMSTAG,     DMCreate_Stag);
     68:   return(0);
     69: }

     71: #include <petscfe.h>

     73: PETSC_EXTERN PetscErrorCode PetscSpaceCreate_Polynomial(PetscSpace);
     74: PETSC_EXTERN PetscErrorCode PetscSpaceCreate_Tensor(PetscSpace);
     75: PETSC_EXTERN PetscErrorCode PetscSpaceCreate_Sum(PetscSpace);
     76: PETSC_EXTERN PetscErrorCode PetscSpaceCreate_Point(PetscSpace);
     77: PETSC_EXTERN PetscErrorCode PetscSpaceCreate_Subspace(PetscSpace);

     79: /*@C
     80:   PetscSpaceRegisterAll - Registers all of the PetscSpace components in the PetscFE package.

     82:   Not Collective

     84:   Input parameter:
     85: . path - The dynamic library path

     87:   Level: advanced

     89: .seealso:  PetscSpaceRegister(), PetscSpaceRegisterDestroy()
     90: @*/
     91: PetscErrorCode PetscSpaceRegisterAll(void)
     92: {

     96:   if (PetscSpaceRegisterAllCalled) return(0);
     97:   PetscSpaceRegisterAllCalled = PETSC_TRUE;

     99:   PetscSpaceRegister(PETSCSPACEPOLYNOMIAL, PetscSpaceCreate_Polynomial);
    100:   PetscSpaceRegister(PETSCSPACETENSOR,     PetscSpaceCreate_Tensor);
    101:   PetscSpaceRegister(PETSCSPACESUM,        PetscSpaceCreate_Sum);
    102:   PetscSpaceRegister(PETSCSPACEPOINT,      PetscSpaceCreate_Point);
    103:   PetscSpaceRegister(PETSCSPACESUBSPACE,   PetscSpaceCreate_Subspace);
    104:   return(0);
    105: }

    107: PETSC_EXTERN PetscErrorCode PetscDualSpaceCreate_Lagrange(PetscDualSpace);
    108: PETSC_EXTERN PetscErrorCode PetscDualSpaceCreate_Lagrange_BDM(PetscDualSpace);
    109: PETSC_EXTERN PetscErrorCode PetscDualSpaceCreate_Simple(PetscDualSpace);
    110: PETSC_EXTERN PetscErrorCode PetscDualSpaceCreate_Refined(PetscDualSpace);

    112: /*@C
    113:   PetscDualSpaceRegisterAll - Registers all of the PetscDualSpace components in the PetscFE package.

    115:   Not Collective

    117:   Input parameter:
    118: . path - The dynamic library path

    120:   Level: advanced

    122: .seealso:  PetscDualSpaceRegister(), PetscDualSpaceRegisterDestroy()
    123: @*/
    124: PetscErrorCode PetscDualSpaceRegisterAll(void)
    125: {

    129:   if (PetscDualSpaceRegisterAllCalled) return(0);
    130:   PetscDualSpaceRegisterAllCalled = PETSC_TRUE;

    132:   PetscDualSpaceRegister(PETSCDUALSPACELAGRANGE, PetscDualSpaceCreate_Lagrange);
    133:   PetscDualSpaceRegister(PETSCDUALSPACEBDM,      PetscDualSpaceCreate_Lagrange);
    134:   PetscDualSpaceRegister(PETSCDUALSPACESIMPLE,   PetscDualSpaceCreate_Simple);
    135:   PetscDualSpaceRegister(PETSCDUALSPACEREFINED,  PetscDualSpaceCreate_Refined);
    136:   return(0);
    137: }

    139: PETSC_EXTERN PetscErrorCode PetscFECreate_Basic(PetscFE);
    140: PETSC_EXTERN PetscErrorCode PetscFECreate_Nonaffine(PetscFE);
    141: PETSC_EXTERN PetscErrorCode PetscFECreate_Composite(PetscFE);
    142: #if defined(PETSC_HAVE_OPENCL)
    143: PETSC_EXTERN PetscErrorCode PetscFECreate_OpenCL(PetscFE);
    144: #endif

    146: /*@C
    147:   PetscFERegisterAll - Registers all of the PetscFE components in the PetscFE package.

    149:   Not Collective

    151:   Input parameter:
    152: . path - The dynamic library path

    154:   Level: advanced

    156: .seealso:  PetscFERegister(), PetscFERegisterDestroy()
    157: @*/
    158: PetscErrorCode PetscFERegisterAll(void)
    159: {

    163:   if (PetscFERegisterAllCalled) return(0);
    164:   PetscFERegisterAllCalled = PETSC_TRUE;

    166:   PetscFERegister(PETSCFEBASIC,     PetscFECreate_Basic);
    167:   PetscFERegister(PETSCFECOMPOSITE, PetscFECreate_Composite);
    168: #if defined(PETSC_HAVE_OPENCL)
    169:   PetscFERegister(PETSCFEOPENCL, PetscFECreate_OpenCL);
    170: #endif
    171:   return(0);
    172: }
    173: #include <petscfv.h>

    175: PETSC_EXTERN PetscErrorCode PetscLimiterCreate_Sin(PetscLimiter);
    176: PETSC_EXTERN PetscErrorCode PetscLimiterCreate_Zero(PetscLimiter);
    177: PETSC_EXTERN PetscErrorCode PetscLimiterCreate_None(PetscLimiter);
    178: PETSC_EXTERN PetscErrorCode PetscLimiterCreate_Minmod(PetscLimiter);
    179: PETSC_EXTERN PetscErrorCode PetscLimiterCreate_VanLeer(PetscLimiter);
    180: PETSC_EXTERN PetscErrorCode PetscLimiterCreate_VanAlbada(PetscLimiter);
    181: PETSC_EXTERN PetscErrorCode PetscLimiterCreate_Superbee(PetscLimiter);
    182: PETSC_EXTERN PetscErrorCode PetscLimiterCreate_MC(PetscLimiter);

    184: /*@C
    185:   PetscLimiterRegisterAll - Registers all of the PetscLimiter components in the PetscFV package.

    187:   Not Collective

    189:   Input parameter:
    190: . path - The dynamic library path

    192:   Level: advanced

    194: .seealso:  PetscLimiterRegister(), PetscLimiterRegisterDestroy()
    195: @*/
    196: PetscErrorCode PetscLimiterRegisterAll(void)
    197: {

    201:   if (PetscLimiterRegisterAllCalled) return(0);
    202:   PetscLimiterRegisterAllCalled = PETSC_TRUE;

    204:   PetscLimiterRegister(PETSCLIMITERSIN,       PetscLimiterCreate_Sin);
    205:   PetscLimiterRegister(PETSCLIMITERZERO,      PetscLimiterCreate_Zero);
    206:   PetscLimiterRegister(PETSCLIMITERNONE,      PetscLimiterCreate_None);
    207:   PetscLimiterRegister(PETSCLIMITERMINMOD,    PetscLimiterCreate_Minmod);
    208:   PetscLimiterRegister(PETSCLIMITERVANLEER,   PetscLimiterCreate_VanLeer);
    209:   PetscLimiterRegister(PETSCLIMITERVANALBADA, PetscLimiterCreate_VanAlbada);
    210:   PetscLimiterRegister(PETSCLIMITERSUPERBEE,  PetscLimiterCreate_Superbee);
    211:   PetscLimiterRegister(PETSCLIMITERMC,        PetscLimiterCreate_MC);
    212:   return(0);
    213: }

    215: PETSC_EXTERN PetscErrorCode PetscFVCreate_Upwind(PetscFV);
    216: PETSC_EXTERN PetscErrorCode PetscFVCreate_LeastSquares(PetscFV);

    218: /*@C
    219:   PetscFVRegisterAll - Registers all of the PetscFV components in the PetscFV package.

    221:   Not Collective

    223:   Input parameter:
    224: . path - The dynamic library path

    226:   Level: advanced

    228: .seealso:  PetscFVRegister(), PetscFVRegisterDestroy()
    229: @*/
    230: PetscErrorCode PetscFVRegisterAll(void)
    231: {

    235:   if (PetscFVRegisterAllCalled) return(0);
    236:   PetscFVRegisterAllCalled = PETSC_TRUE;

    238:   PetscFVRegister(PETSCFVUPWIND,       PetscFVCreate_Upwind);
    239:   PetscFVRegister(PETSCFVLEASTSQUARES, PetscFVCreate_LeastSquares);
    240:   return(0);
    241: }
    242: #include <petscds.h>

    244: PETSC_EXTERN PetscErrorCode PetscDSCreate_Basic(PetscDS);

    246: /*@C
    247:   PetscDSRegisterAll - Registers all of the PetscDS components in the PetscDS package.

    249:   Not Collective

    251:   Input parameter:
    252: . path - The dynamic library path

    254:   Level: advanced

    256: .seealso:  PetscDSRegister(), PetscDSRegisterDestroy()
    257: @*/
    258: PetscErrorCode PetscDSRegisterAll(void)
    259: {

    263:   if (PetscDSRegisterAllCalled) return(0);
    264:   PetscDSRegisterAllCalled = PETSC_TRUE;

    266:   PetscDSRegister(PETSCDSBASIC, PetscDSCreate_Basic);
    267:   return(0);
    268: }