13 grid_pos,axis,axis_index)
26 INTEGER,
INTENT (IN) :: LIM1, LIM2
28 DOUBLE PRECISION,
INTENT (IN) :: PART_POS
31 DOUBLE PRECISION,
DIMENSION(:),
INTENT (IN) :: GRID_POS
33 CHARACTER(LEN=1),
INTENT (IN) :: AXIS, AXIS_INDEX
44 IF (lim1 <= lim2)
THEN 46 IF (part_pos >= grid_pos(ind-1) .AND. &
47 part_pos < grid_pos(ind))
EXIT 49 ELSEIF (lim1 > lim2)
THEN 50 DO ind = lim1, lim2, -1
51 IF (part_pos >= grid_pos(ind-1) .AND. &
52 part_pos < grid_pos(ind))
EXIT 57 WRITE (
unit_log, 1001) axis_index, axis, part_pos, &
58 axis_index, lim1, axis_index, lim2
59 WRITE (*,1001) axis_index, axis, part_pos, &
60 axis_index, lim1, axis_index, lim2
68 1001
FORMAT(/1x,70(
'*')//,
' From: DES_GETINDEXFROMPOS',/,
' Message: ',&
69 'Could not identify the ', a,
' index associated with the ',&
70 'particles ',/10x,a,
'-position= ',es15.5,
' between the ',&
71 'limits ',a,
'=',i5,/10x,
' and ',a,
'=',i5,
'.',/1x,70(
'*')/)
integer function des_getindexfrompos(LIM1, LIM2, PART_POS, GRID_POS, AXIS, AXIS_INDEX)
integer, parameter unit_log