Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
Beginner
11 Views

Unable to read in values thru namelist in Fortran after using PETSc 64bit indices in linux

Hi,

I found that I am unable to read in values thru namelist in Fortran after using PETSc 64bit indices in linux. It is compiled using Intel Fortran 2018

I have a parameter txt file which is read in using namelist in Fortran:

namelist /body_input/ no_body, convex_body, motion_type, hover, wing_config  ...

do ijk=0,num_procs-1
 
    call MPI_Barrier(MPI_COMM_WORLD,ierr)
 
     if (ijk == myid) then


        open (unit = 44 , FILE = "ibm3d_input.txt" , status = "old", iostat = openstatus(4))

        if (openstatus(4) > 0) then

            print *, "ibm3d_input file not present or wrong filename."

            stop

        end if

        read (44,nml = solver_input)

        read (44,nml = grid_input)

        read (44,nml = body_input)...


After using PETSc 64bit indices, my code aborts and I realise that it is because the values have became NaN. Strangely, it does not occur in windows with VS2008. That was Intel Fortran 2013.

I wonder if it's a bug with the Intel Fortran compiler 2018.

Anyone has similar experience?

0 Kudos
2 Replies
Highlighted
Black Belt Retired Employee
11 Views

I suspect a bug in your program that is causing memory to be overwritten. That you did not see it before does not imply a compiler bug. You have some debugging to do. Comment out code until you find the change that causes the problem to go away. That often (but not always) helps identify the actual culprit.

--
Steve (aka "Doctor Fortran") - https://stevelionel.com/drfortran
0 Kudos
Black Belt
11 Views

What do you mean by "PETSc 64bit indices"? Are these different from 64-bit signed integers?

You have provided very little information about the abort. For instance, where did the program abort? What have you tried to find that location? Do you see an error message just before the abort?

Can you provide a simplified version of your program (preferably, one that does not use MPI) that demonstrates the problem?

0 Kudos