On Sun, Nov 19, 2017 at 4:43 AM, Jose E. Roman <[email protected]> wrote:

>
> > El 19 nov 2017, a las 10:16, Praveen C <[email protected]> escribió:
> >
> > Dear all
> >
> > In the main program, if I have a line like
> >
> >   call PetscInitialize('param.in', ierr); CHKERRQ(ierr)
> >
> > compiling with mpifort gives
> >
> > main.f95(17): error #6353: A RETURN statement is invalid in the main
> program.
> >   call PetscInitialize('param.in', ierr); if (ierr .ne. 0) then ; call
> PetscErrorF(ierr); return; endif
> > —————————————————————————————————————————————^
> >
> > It compiles fine with gfortran. What can I do for the ifort case ?
> >
> > Thanks
> > praveen
>
> Use CHKERRA(ierr) in the main program and CHKERRQ(ierr) in the subroutines.
>
> On the other hand, you should not use CHKERRA(ierr) after PetscInitialize


Do you mean after PetscFinalize()? You should not call any PETSc functions
after this.

  Thanks,

    Matt


> because it assumes that MPI has been correctly initialized.
>
> Jose
>
>


-- 
What most experimenters take for granted before they begin their
experiments is infinitely more interesting than any results to which their
experiments lead.
-- Norbert Wiener

https://www.cse.buffalo.edu/~knepley/ <http://www.caam.rice.edu/~mk51/>

Reply via email to