Apologies for returning to this topic, but whilst I managed to avoid the SIGFPE and Valgrind errors mentioned in my last post by finding (and removing) the source of the problem, I have not been able to fix the issue. I managed to narrow the cause of the problem to a section of code in usvpst in which I asked for the instantaneous velocity components to be written on an alias of the volume mesh. This is the section of the code:
Code: Select all
iphas = 1
if(irangp.ge.0) then
call parcom (rtp(1,iu(iphas)))
call parcom (rtp(1,iv(iphas)))
call parcom (rtp(1,iw(iphas)))
call parcom (rtp(1,ipr(iphas)))
endif
if(iperio.eq.1) then
idimte = 1
itenso = 0
call percom(idimte, itenso, &
!==========
rtp(1,iu(iphas)), rtp(1,iu(iphas)), rtp(1,iu(iphas)), &
rtp(1,iv(iphas)), rtp(1,iv(iphas)), rtp(1,iv(iphas)), &
rtp(1,iw(iphas)), rtp(1,iw(iphas)), rtp(1,iw(iphas)))
idimte = 0
itenso = 0
call percom(idimte, itenso, &
!==========
rtp(1,ipr(iphas)), rtp(1,ipr(iphas)), rtp(1,ipr(iphas)), &
rtp(1,ipr(iphas)), rtp(1,ipr(iphas)), rtp(1,ipr(iphas)), &
rtp(1,ipr(iphas)), rtp(1,ipr(iphas)), rtp(1,ipr(iphas)))
endif
! Output of the velocities and pressure
! ------------------------
! Initialize variable name
do ii = 1, 32
namevr (ii:ii) = ' '
enddo
! Values are not interlaced.
ientla = 0
! Variable name
namevr = 'VelX'
! Variable dimension (1: scalar, 3: vector, 6/9: symm/non-symm tensor)
idimt = 3
do iloc = 1, ncelps
iel = lstcel(iloc)
tracel(iloc) = rtp(iel,iu(iphas))
enddo
! Values are defined on the work array, not on the parent.
ivarpr = 0
! Output values
call psteva(ipart, namevr, idimt, ientla, ivarpr, &
ntcabs, ttcabs, tracel, trafac, trafbr)
! Initialize variable name
do ii = 1, 32
namevr (ii:ii) = ' '
enddo
namevr = 'VelY'
idimt = 3
ientla = 0
do iloc = 1, ncelps
iel = lstcel(iloc)
tracel(iloc) = rtp(iel,iv(iphas))
enddo
ivarpr = 0
! Output values
call psteva(ipart, namevr, idimt, ientla, ivarpr, &
ntcabs, ttcabs, tracel, trafac, trafbr)
! Initialize variable name
do ii = 1, 32
namevr (ii:ii) = ' '
enddo
namevr = 'VelZ'
idimt = 3
ientla = 0
do iloc = 1, ncelps
iel = lstcel(iloc)
tracel(iloc) = rtp(iel,iw(iphas))
enddo
ivarpr = 0
! Output values
call psteva(ipart, namevr, idimt, ientla, ivarpr, &
ntcabs, ttcabs, tracel, trafac, trafbr)
! Initialize variable name
do ii = 1, 32
namevr (ii:ii) = ' '
enddo
namevr = 'Pressure'
idimt = 1
ientla = 0
do iloc = 1, ncelps
iel = lstcel(iloc)
tracel(iloc) = rtp(iel,ipr(iphas))
enddo
ivarpr = 0
! Output values
call psteva(ipart, namevr, idimt, ientla, ivarpr, &
ntcabs, ttcabs, tracel, trafac, trafbr)
Thank you in advance for your help and apologies for the long post,
Kristin