anchor.diff:      integer(C_INT)::pressureRHS !< error code
       double precision,pointer::x(:) !< fortran pointer associated with oldVector
       double precision,pointer::y(:) !< fortran pointer associated with newVector
  -    double precision,allocatable,save::tmpFlowRho(:)
  +    double precision,allocatable,save::tmpFlowRho(:),tmpAdvRho(:)
       
       call associateVector(oldVector,x)
       call associateVector(newVector,y)
  
positive.code:     call setBC()
      call findGrad(grid,p,gradP)
      if(.not.allocated(tmpFlowRho))then
        allocate(tmpFlowRho(grid%nC))
      else if(size(tmpFlowRho)/=grid%nC)then
        deallocate(tmpFlowRho)
        allocate(tmpFlowRho(grid%nC))
      end if
      tmpFlowRho(:)=flowRho(:)
      call addRhieChow(grid,rho,p,gradP,rho,dt,tmpFlowRho)
      call findDiff(grid,p,[(1d0,i=1,grid%nC)],laP)
      forall(i=1:grid%nC)
        y(i)=p(i)-Rgas*temp(i)*(rho0(i)+dt/grid%v(i)*(tmpFlowRho(i)+dt*(laP(i)-laP1(i))))
      end forall
      pressureRHS=merge(1,0,any(ieee_is_nan(y).or.(.not.ieee_is_finite(y))))
      if(c_associated(dat))then
  
negative.code:     end if
      tmpP(:)=p(1:grid%nC)
      call setBC()
      call findAdv(grid,rho,rhou,advRho)
      call pressureEq%solve(tmpP,info=info)
      needRetry=info<0
      call pressureEq%getNIt(n)
  