1 /* 2 Defines an interface to the MATLAB Engine from PETSc 3 */ 4 5 #if !defined(__PETSCMATLAB_H) 6 #define __PETSCMATLAB_H 7 8 PETSC_EXTERN PetscClassId MATLABENGINE_CLASSID; 9 10 /*S 11 PetscMatlabEngine - Object used to communicate with MATLAB 12 13 Level: intermediate 14 15 .seealso: PetscMatlabEngineCreate(), PetscMatlabEngineDestroy(), PetscMatlabEngineEvaluate(), 16 PetscMatlabEngineGetOutput(), PetscMatlabEnginePut(), PetscMatlabEngineGet(), 17 PetscMatlabEnginePrintOutput(), PetscMatlabEnginePutArray(), PetscMatlabEngineGetArray(), 18 PETSC_MATLAB_ENGINE_(), PETSC_MATLAB_ENGINE_SELF, PETSC_MATLAB_ENGINE_WORLD 19 S*/ 20 typedef struct _p_PetscMatlabEngine* PetscMatlabEngine; 21 22 PETSC_EXTERN PetscErrorCode PetscMatlabEngineCreate(MPI_Comm,const char[],PetscMatlabEngine*); 23 PETSC_EXTERN PetscErrorCode PetscMatlabEngineDestroy(PetscMatlabEngine*); 24 PETSC_EXTERN PetscErrorCode PetscMatlabEngineEvaluate(PetscMatlabEngine,const char[],...); 25 PETSC_EXTERN PetscErrorCode PetscMatlabEngineGetOutput(PetscMatlabEngine,char **); 26 PETSC_EXTERN PetscErrorCode PetscMatlabEnginePrintOutput(PetscMatlabEngine,FILE*); 27 PETSC_EXTERN PetscErrorCode PetscMatlabEnginePut(PetscMatlabEngine,PetscObject); 28 PETSC_EXTERN PetscErrorCode PetscMatlabEngineGet(PetscMatlabEngine,PetscObject); 29 PETSC_EXTERN PetscErrorCode PetscMatlabEnginePutArray(PetscMatlabEngine,int,int,const PetscScalar*,const char[]); 30 PETSC_EXTERN PetscErrorCode PetscMatlabEngineGetArray(PetscMatlabEngine,int,int,PetscScalar*,const char[]); 31 32 PETSC_EXTERN PetscMatlabEngine PETSC_MATLAB_ENGINE_(MPI_Comm); 33 34 /*MC 35 PETSC_MATLAB_ENGINE_WORLD - same as PETSC_MATLAB_ENGINE_(PETSC_COMM_WORLD) 36 37 Level: developer 38 M*/ 39 #define PETSC_MATLAB_ENGINE_WORLD PETSC_MATLAB_ENGINE_(PETSC_COMM_WORLD) 40 41 /*MC 42 PETSC_MATLAB_ENGINE_SELF - same as PETSC_MATLAB_ENGINE_(PETSC_COMM_SELF) 43 44 Level: developer 45 M*/ 46 #define PETSC_MATLAB_ENGINE_SELF PETSC_MATLAB_ENGINE_(PETSC_COMM_SELF) 47 48 #endif 49