Actual source code: pams.c

  1: /*$Id: pams.c,v 1.9 2001/03/23 23:20:42 balay Exp $*/

 3:  #include petsc.h

  5: #if defined(PETSC_HAVE_AMS)

  7: /*
  8:     Publishes the common header part of any PETSc object. 
  9: */
 10: int PetscObjectPublishBaseBegin(PetscObject obj)
 11: {
 12:   AMS_Memory amem;
 13:   AMS_Comm   acomm;
 14:   int        ierr;

 17:   PetscObjectName(obj);

 19:   ierr      = PetscViewerAMSGetAMSComm(PETSC_VIEWER_AMS_(obj->comm),&acomm);
 20:   ierr      = AMS_Memory_create(acomm,obj->name,&amem);
 21:   obj->amem = (int)amem;

 23:   AMS_Memory_take_access(amem);
 24:   AMS_Memory_add_field(amem,"Class",&obj->class_name,1,AMS_STRING,AMS_READ,
 25:                                 AMS_COMMON,AMS_REDUCT_UNDEF);
 26:   AMS_Memory_add_field(amem,"Type",&obj->type_name,1,AMS_STRING,AMS_READ,
 27:                                 AMS_COMMON,AMS_REDUCT_UNDEF);
 28:   AMS_Memory_add_field(amem,"Id",&obj->id,1,AMS_INT,AMS_READ,
 29:                                 AMS_COMMON,AMS_REDUCT_UNDEF);
 30:   AMS_Memory_add_field(amem,"ParentId",&obj->parentid,1,AMS_INT,AMS_READ,
 31:                                 AMS_COMMON,AMS_REDUCT_UNDEF);
 32:   AMS_Memory_add_field(amem,"Name",&obj->name,1,AMS_STRING,AMS_READ,
 33:                                 AMS_COMMON,AMS_REDUCT_UNDEF);
 34:   return(0);
 35: }

 37: int PetscObjectPublishBaseEnd(PetscObject obj)
 38: {
 39:   AMS_Memory amem = (AMS_Memory) obj->amem;
 40:   int        ierr;


 44:   if (amem < 0) SETERRQ(1,"Called without a call to PetscObjectPublishBaseBegin()");
 45:   AMS_Memory_publish(amem);
 46:   AMS_Memory_grant_access(amem);
 47:   return(0);
 48: }

 50: #else

 52: int mydummy(void)
 53: {
 55:   return(0);
 56: }

 58: #endif