[petsc-users] VecGetArray vs. VecGetArrayReadF90

Sanjay Govindjee s_g at berkeley.edu
Mon Apr 9 16:51:55 CDT 2018


I am wondering about a change in behavior that I noticed with v3.8.3 
(versus 3.7.6).

I have a Vec object which in 3.7.6 was stored in a common block. For 
3.8.3 we have moved it to a module since gfortran was unhappy about 
having it in a common block.

In our code, we extract values from the vector using VecGetArray( ).  
With ifort the behavior is the same (and correct) for both versions of 
our code.  With gfortran, we are seeing incorrect values when using 
VecGetArray( ) when the Vec is contained in a module as needed for 
3.8.3.  If we switch over to VecGetArrayReadF90( ) gfortran once again 
produces correct results.

Is there a good reason to expect this behavior?  I'm am trying to 
understand the underlying concepts that are a play here.

-sanjay




More information about the petsc-users mailing list