1: function result = launch(program,np,opt)
2: %
3: % launch(program,np)
4: % Starts up PETSc program
5: %
6: % Unfortunately does not emit an error code if the launch fails and one cannot see the output
7: % including error messages from the PETSc code.
8: %
9: % To debug problems we recommend commenting out the launch script from the Matlab script and
10: % in a separate terminal starting the PETSc program manually, for example petscmpiexec -n 1 ./ex1 -info other options
11: % The Matlab script will block on the PetscOpenSocket() until the PETSc executable is started.
13: % see also @sreader/sreader() and PetscBinaryRead()
14: %
15: if nargin < 2
16: np = 1;
17: else if nargin < 3
18: opt = ''
19: end
20: end
22: %
23: % to run parallel jobs make sure petscmpiexec is in your path
24: % with the particular PETSC_ARCH environmental varable set
25: %command = ['petscmpiexec -np ' int2str(np) ' ' program opt ' &'];
26: command = [ program opt ' &'];
27: fprintf(1,['Executing: ' command])
29: result = system(command)
30: