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