Actual source code: ex31.c
1: /*$Id: ex31.c,v 1.6 2001/03/23 23:21:30 balay Exp $*/
3: /*
4: Demonstrates PetscMatlabEngineXXX()
5: */
7: #include petscvec.h
9: int main(int argc,char **argv)
10: {
11: int ierr,rank,n = 5;
12: char *output;
13: Vec x;
15: PetscInitialize(&argc,&argv,(char *)0,0);
17: VecCreate(PETSC_COMM_WORLD,&x);
18: VecSetSizes(x,PETSC_DECIDE,n);
19: VecSetFromOptions(x);
21: MPI_Comm_rank(PETSC_COMM_WORLD,&rank);
22: PetscMatlabEngineGetOutput(PETSC_COMM_WORLD,&output);
23: PetscMatlabEngineEvaluate(PETSC_COMM_WORLD,"MPI_Comm_rank");
24: PetscSynchronizedPrintf(PETSC_COMM_WORLD,"[%d]Processor rank is %s",rank,output);
25: PetscSynchronizedFlush(PETSC_COMM_WORLD);
27: PetscObjectSetName((PetscObject)x,"x");
28: PetscMatlabEnginePut((PetscObject)x);
29: PetscMatlabEngineEvaluate(PETSC_COMM_WORLD,"x = x + MPI_Comm_rank;n");
30: PetscMatlabEngineGet((PetscObject)x);
32: PetscMatlabEngineEvaluate(PETSC_COMM_WORLD,"whosn");
33: PetscSynchronizedPrintf(PETSC_COMM_WORLD,"[%d]The result is %s",rank,output);
34: PetscSynchronizedFlush(PETSC_COMM_WORLD);
36: VecView(x,PETSC_VIEWER_STDOUT_WORLD);
37: VecDestroy(x);
38: PetscFinalize();
39: return 0;
40: }
41: