Actual source code: petscmatlab.h

petsc-3.14.6 2021-03-30
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