Actual source code: petscmatlab.h
petsc-3.12.1 2019-10-22
Report Typos and Errors

      1: /*
      2:     Defines an interface to the MATLAB Engine from PETSc
      3: */

      5: #if !defined(PETSCMATLAB_H)
      6: #define PETSCMATLAB_H

      8: PETSC_EXTERN PetscClassId MATLABENGINE_CLASSID;

     10: /*S
     11:      PetscMatlabEngine - Object used to communicate with MATLAB

     13:    Level: intermediate

     15:    Note: Mats transfered between PETSc and MATLAB and vis versa are transposed in the other space
     16:          (this is because MATLAB uses compressed column format and PETSc uses compressed row format)

     18: .seealso:  PetscMatlabEngineCreate(), PetscMatlabEngineDestroy(), PetscMatlabEngineEvaluate(),
     19:            PetscMatlabEngineGetOutput(), PetscMatlabEnginePut(), PetscMatlabEngineGet(),
     20:            PetscMatlabEnginePrintOutput(), PetscMatlabEnginePutArray(), PetscMatlabEngineGetArray(),
     21:            PETSC_MATLAB_ENGINE_(), PETSC_MATLAB_ENGINE_SELF, PETSC_MATLAB_ENGINE_WORLD
     22: S*/
     23: typedef struct _p_PetscMatlabEngine* PetscMatlabEngine;

     25: PETSC_EXTERN PetscErrorCode PetscMatlabEngineCreate(MPI_Comm,const char[],PetscMatlabEngine*);
     26: PETSC_EXTERN PetscErrorCode PetscMatlabEngineDestroy(PetscMatlabEngine*);
     27: PETSC_EXTERN PetscErrorCode PetscMatlabEngineEvaluate(PetscMatlabEngine,const char[],...);
     28: PETSC_EXTERN PetscErrorCode PetscMatlabEngineGetOutput(PetscMatlabEngine,char **);
     29: PETSC_EXTERN PetscErrorCode PetscMatlabEnginePrintOutput(PetscMatlabEngine,FILE*);
     30: PETSC_EXTERN PetscErrorCode PetscMatlabEnginePut(PetscMatlabEngine,PetscObject);
     31: PETSC_EXTERN PetscErrorCode PetscMatlabEngineGet(PetscMatlabEngine,PetscObject);
     32: PETSC_EXTERN PetscErrorCode PetscMatlabEnginePutArray(PetscMatlabEngine,int,int,const PetscScalar*,const char[]);
     33: PETSC_EXTERN PetscErrorCode PetscMatlabEngineGetArray(PetscMatlabEngine,int,int,PetscScalar*,const char[]);

     35: PETSC_EXTERN PetscMatlabEngine  PETSC_MATLAB_ENGINE_(MPI_Comm);

     37: /*MC
     38:   PETSC_MATLAB_ENGINE_WORLD - same as PETSC_MATLAB_ENGINE_(PETSC_COMM_WORLD)

     40:   Level: developer
     41: M*/
     42: #define PETSC_MATLAB_ENGINE_WORLD PETSC_MATLAB_ENGINE_(PETSC_COMM_WORLD)

     44: /*MC
     45:   PETSC_MATLAB_ENGINE_SELF - same as PETSC_MATLAB_ENGINE_(PETSC_COMM_SELF)

     47:   Level: developer
     48: M*/
     49: #define PETSC_MATLAB_ENGINE_SELF  PETSC_MATLAB_ENGINE_(PETSC_COMM_SELF)

     51: #endif