xref: /petsc/include/petscmatlab.h (revision 7087cfbefd1a42b179f217f9994fb6cb0d0c1824)
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 
90700a824SBarry Smith extern PetscClassId MATLABENGINE_CLASSID;
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 
23*7087cfbeSBarry Smith extern PetscErrorCode  PetscMatlabEngineCreate(MPI_Comm,const char[],PetscMatlabEngine*);
24*7087cfbeSBarry Smith extern PetscErrorCode  PetscMatlabEngineDestroy(PetscMatlabEngine);
25*7087cfbeSBarry Smith extern PetscErrorCode  PetscMatlabEngineEvaluate(PetscMatlabEngine,const char[],...);
26*7087cfbeSBarry Smith extern PetscErrorCode  PetscMatlabEngineGetOutput(PetscMatlabEngine,char **);
27*7087cfbeSBarry Smith extern PetscErrorCode  PetscMatlabEnginePrintOutput(PetscMatlabEngine,FILE*);
28*7087cfbeSBarry Smith extern PetscErrorCode  PetscMatlabEnginePut(PetscMatlabEngine,PetscObject);
29*7087cfbeSBarry Smith extern PetscErrorCode  PetscMatlabEngineGet(PetscMatlabEngine,PetscObject);
30*7087cfbeSBarry Smith extern PetscErrorCode  PetscMatlabEnginePutArray(PetscMatlabEngine,int,int,const PetscScalar*,const char[]);
31*7087cfbeSBarry Smith extern PetscErrorCode  PetscMatlabEngineGetArray(PetscMatlabEngine,int,int,PetscScalar*,const char[]);
32de580fa9SBarry Smith 
33*7087cfbeSBarry 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