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