Actual source code: testcomponentsI.c

  1: #include "petscfwk.h"

  4: #undef  __FUNCT__ 
  6: PetscErrorCode  PetscFwkComponentConfigureTestIA(PetscFwk fwk, PetscInt state, PetscObject *component) {
  7:   MPI_Comm       comm;
  8:   PetscContainer container;
 11:   PetscObjectGetComm((PetscObject)fwk, &comm);
 12:   if(!*component) {
 13:     PetscContainerCreate(comm, &container);
 14:     PetscObjectSetName((PetscObject)container, "TestIA");
 15:     *component = (PetscObject)container;
 16:     PetscPrintf(comm, "%s: created component\n", __FUNCT__);
 17:   }
 18:   else {
 19:     container = *((PetscContainer*)component);
 20:     PetscPrintf(comm, "%s: configuring to state %d\n", __FUNCT__, state);
 21:   }
 22:   return(0);
 23: }/* PetscFwkComponentConfigureTestIA() */

 25: #undef  __FUNCT__ 
 27: PetscErrorCode  PetscFwkComponentConfigureTestIB(PetscFwk fwk, PetscInt state, PetscObject *component) {
 28:   MPI_Comm       comm;
 29:   PetscContainer container;
 32:   PetscObjectGetComm((PetscObject)fwk, &comm);
 33:   if(!*component) {
 34:     PetscContainerCreate(comm, &container);
 35:     PetscObjectSetName((PetscObject)container, "TestIB");
 36:     *component = (PetscObject)container;
 37:     PetscPrintf(comm, "%s: created component\n", __FUNCT__);
 38:     PetscPrintf(comm, "%s: registering dependence: TestIB --> TestIA\n", __FUNCT__);
 39:     PetscFwkRegisterDependence(fwk,
 40:                                       "${PETSC_DIR}/${PETSC_ARCH}/lib/libtestcomponents.a:TestIB",
 41:                                       "${PETSC_DIR}/${PETSC_ARCH}/lib/libtestcomponents:TestIA");
 42:   }
 43:   else {
 44:     container = *((PetscContainer*)component);
 45:     PetscPrintf(comm, "%s: configuring to state %d\n", __FUNCT__, state);
 46:   }
 47:   return(0);
 48: }/* PetscFwkComponentConfigureTestIB() */
 49: #undef  __FUNCT__ 
 51: PetscErrorCode  PetscFwkComponentConfigureTestIC(PetscFwk fwk, PetscInt state, PetscObject *component) {
 52:   MPI_Comm       comm;
 53:   PetscContainer container;
 56:   PetscObjectGetComm((PetscObject)fwk, &comm);
 57:   if(!*component) {
 58:     PetscContainerCreate(comm, &container);
 59:     PetscObjectSetName((PetscObject)container, "TestIIB");
 60:     *component = (PetscObject)container;
 61:     PetscPrintf(comm, "%s: created component\n", __FUNCT__);
 62:   }
 63:   else {
 64:     container = *((PetscContainer*)component);
 65:     PetscPrintf(comm, "%s: configuring to state %d\n", __FUNCT__, state);
 66:   }
 67:   return(0);
 68: }/* PetscFwkComponentConfigureTestIC() */