5 &( np,np_max,xp,yp,zp,tagp,clsp,eltp,shpp,
6 & npoin2,npoin3,nelem,nelmax,ikle,x,y,t2dplo )
51 TYPE(bief_file) ,
INTENT(IN) :: T2DPLO
52 INTEGER ,
INTENT(IN) :: NP_MAX,NELEM,NELMAX
53 INTEGER ,
INTENT(IN) :: NPOIN2,NPOIN3
54 INTEGER ,
INTENT(INOUT) :: NP
55 INTEGER,
INTENT(IN) :: IKLE(nelmax,3)
56 INTEGER,
INTENT(INOUT) :: TAGP(np_max),ELTP(np_max)
57 INTEGER,
INTENT(INOUT) :: CLSP(np_max)
58 DOUBLE PRECISION,
INTENT(IN) :: X(npoin2),Y(npoin2)
59 DOUBLE PRECISION,
INTENT(INOUT) :: XP(np_max),YP(np_max)
60 DOUBLE PRECISION,
INTENT(INOUT) :: SHPP(3,np_max),ZP(np_max)
64 INTEGER,
PARAMETER :: SIZELIGN = 3000
65 CHARACTER(LEN=SIZELIGN) :: LIGNE
67 INTEGER LUPLO, I,J,ILINE,ICHAR, ITIME(9), IFLOT,MFLOT
68 INTEGER JPID, N1,N2,N3
70 DOUBLE PRECISION X0,Y0,X1,Y1,X2,Y2,X3,Y3,DET1,DET2,DET3,SURDET
72 REAL,
ALLOCATABLE :: RARRAY(:)
73 DOUBLE PRECISION,
PARAMETER :: CHOUIA = 1.d-10
79 IF( t2dplo%FMT .EQ.
'BKBINPCL' .AND. t2dplo%LU.NE.0 )
THEN 87 OPEN( luplo, file=trim(t2dplo%TELNAME),form=
'FORMATTED',
88 & access=
'STREAM', action=
'READ' )
96 READ( luplo,fmt=
'(A)',end=1001,err=1901 ) ligne
97 ichar = ichar + len(trim(ligne)) + 2
98 IF( ligne(1:18).EQ.
':WrittenBy TELEMAC' ) found = .true.
99 IF( ligne(1:10).EQ.
':EndHeader' )
EXIT 104 OPEN( luplo, file=trim(t2dplo%TELNAME),form=
'UNFORMATTED',
105 & action=
'READ',convert=
'LITTLE_ENDIAN',
106 & access=
'STREAM', status=
'OLD' )
112 READ(luplo) ligne(1:ichar)
114 READ(luplo,end=23,err=1902) itime
116 READ(luplo,err=1902) iflot
117 mflot = max( mflot,iflot )
118 READ(luplo) ( rvalue, i = 1,iflot*4 )
119 IF( npoin2.NE.npoin3 )
THEN 120 READ(luplo) ( rvalue, i = 1,iflot )
127 IF( mflot.GT.np_max )
THEN 128 WRITE(
lu,33) mflot,np_max
129 33
FORMAT(1x,
'READ_DROGUES:',/,
130 & 1x,
' REQUIRED NUMBER OF DROGUES (',i8,
')',/,
131 & 1x,
' LARGER THAN THE MAXIMUM NUMBER OF DROGUES',/,
132 & 1x,
' POSSIBLE (',i8,
')',/,
133 & 1x,
' INCREASE THE MAXIMUM OR REDUCE YOUR DENSITY.')
142 ALLOCATE( rarray(mflot) )
145 READ(luplo) ligne(1:ichar)
149 READ(luplo) ( rvalue, i = 1,iflot*4 )
150 IF( npoin2.NE.npoin3 )
THEN 151 READ(luplo) ( rvalue, i = 1,iflot )
163 READ(luplo) ( rarray(i), i = 1,iflot )
168 READ(luplo) ( rarray(i), i = 1,iflot )
173 IF( npoin2.NE.npoin3 )
THEN 174 READ(luplo) ( rarray(i), i = 1,iflot )
180 READ(luplo) ( rarray(i), i = 1,iflot )
182 tagp(i) = int( rarray(i) )
185 READ(luplo) ( rarray(i), i = 1,iflot )
187 clsp(i) = int( rarray(i) )
198 IF( iflot.GT.0 )
THEN 220 det1 = ( x3-x2 )*( y0-y2 ) - ( y3-y2 )*( x0-x2 )
221 det2 = ( x1-x3 )*( y0-y3 ) - ( y1-y3 )*( x0-x3 )
222 det3 = ( x2-x1 )*( y0-y1 ) - ( y2-y1 )*( x0-x1 )
223 IF( det1.GE.-chouia .AND.
224 & det2.GE.-chouia .AND.
225 & det3.GE.-chouia )
THEN 234 IF( ncsize.GT.1 )
THEN 237 IF( jpid.EQ.ipid )
THEN 242 surdet = 1.d0 / ( (x2-x1)*(y3-y1) - (x3-x1)*(y2-y1) )
243 shpp(1,np) = det1*surdet
244 shpp(2,np) = det2*surdet
245 shpp(3,np) = det3*surdet
256 34
FORMAT(1x,
'READ_DROGUES:',/,i8,
257 & 1x,
' DROGUES HAVE BEEN READ FROM THE',/,
258 & 1x,
' PREVIOUS DROGUES FILE.')
269 WRITE(
lu,*)
'REACHED THE END OF THE DROGUES FILE' 270 WRITE(
lu,*)
'BEFORE FINDING THE END OF THE HEADER.' 271 WRITE(
lu,*)
'MAYBE THIS IS NOT A DROGUES FILE.' 275 WRITE(
lu,*)
'READING ERROR ON THE DROGUES FILE' 276 WRITE(
lu,*)
'AT LINE OF DATA : ',iline
280 WRITE(
lu,*)
'READING ERROR ON THE DROGUES FILE' 281 WRITE(
lu,*)
'AFTER RECORD : ',itime
subroutine read_drogues(NP, NP_MAX, XP, YP, ZP, TAGP, CLSP, ELTP, SHPP, NPOIN2, NPOIN3, NELEM, NELMAX, IKLE, X, Y, T2DPLO)