Hello,
What you do in your loop is not very clear :
Do J=1,18816
read(1,*) Pto
PtosNoErod(J)=Pto
I=MESH%NBOR%I(Pto)
ZR(I)=ZF(I)
end do
If Pto is a global number the loop should just be:
Do J=1,18816
read(1,*) Pto
ZR(Pto)=ZF(Pto)
end do
If Pto is a boundary number the loop should be:
Do J=1,18816
read(1,*) Pto
I=MESH%NBOR%I(Pto)
ZR(I)=ZF(I)
end do
and I do not see the use of PtosNoErod(J)=Pto. Moreover using unit 1 should be forbidden because it is already open for a geometry file, try 99 instead.
You could just look at the boundary conditions on U to know if you are on a solid boundary:
USE DECLARATIONS_TELEMAC2D, ONLY : LIUBOR
...
Do J=1,NPTFR
IF(LIUBOR%I(J).EQ.2) THEN
I=MESH%NBOR%I(J)
ZR(I)=ZF(I)
ENDIF
end do
and this would work also in parallel.
With best regards,
Jean-Michel Hervouet