Actual source code: ex16.c

  1: /*$Id: ex16.c,v 1.5 2001/03/23 23:20:59 balay Exp $*/

  3: /* 
  4:    Demonstrates PetscMatlabEngineXXX()
  5: */

 7:  #include petsc.h

  9: int main(int argc,char **argv)
 10: {
 11:   int        ierr,rank;
 12:   char       buffer[256],*output,user[256];
 13:   PetscTruth userhappy = PETSC_FALSE;

 15:   PetscInitialize(&argc,&argv,(char *)0,0);
 16:   MPI_Comm_rank(PETSC_COMM_WORLD,&rank);

 18:   PetscMatlabEngineGetOutput(PETSC_MATLAB_ENGINE_(PETSC_COMM_WORLD),&output);

 20:   PetscMatlabEngineEvaluate(PETSC_MATLAB_ENGINE_(PETSC_COMM_WORLD),"MPI_Comm_rank");
 21:   PetscSynchronizedPrintf(PETSC_COMM_WORLD,"[%d]Processor rank is %s",rank,output);
 22:   PetscSynchronizedFlush(PETSC_COMM_WORLD);
 23:   PetscPrintf(PETSC_COMM_WORLD,">>");
 24:   PetscSynchronizedFGets(PETSC_COMM_WORLD,stdin,256,user);
 25:   PetscStrncmp(user,"exit",4,&userhappy);
 26:   while (!userhappy) {
 27:     PetscMatlabEngineEvaluate(PETSC_MATLAB_ENGINE_(PETSC_COMM_WORLD),user);
 28:     PetscSynchronizedPrintf(PETSC_COMM_WORLD,"[%d]The result is %s",rank,output);
 29:     PetscSynchronizedFlush(PETSC_COMM_WORLD);
 30:     PetscPrintf(PETSC_COMM_WORLD,">>");
 31:     PetscSynchronizedFGets(PETSC_COMM_WORLD,stdin,256,user);
 32:     PetscStrncmp(user,"exit",4,&userhappy);
 33:   }
 34:   PetscFinalize();
 35:   return 0;
 36: }
 37: