5 &(x,y,npoin,nbor,nfic,std,nvar,texte,textlu,varcla,nvarcl,
6 & titre,sorleo,nsor,w,ikle,
7 & ikles,itrav,nelem,nptfr,ndp,mxptvs,mxelvs,date,time,
8 & debu,suit,ecri,listin,iparam,ipobo,x_orig,y_orig)
105 DOUBLE PRECISION,
INTENT(IN) :: X(*),Y(*)
106 REAL,
INTENT(INOUT) :: W(*)
108 INTEGER,
INTENT(IN) :: NBOR(*)
109 INTEGER,
INTENT(INOUT) :: IKLE(*),IKLES(*),ITRAV(*)
110 INTEGER,
INTENT(INOUT) :: NPOIN,NVAR,MXPTVS,MXELVS,TIME(3),DATE(3)
111 INTEGER,
INTENT(IN) :: NFIC,NVARCL,NSOR
112 INTEGER,
INTENT(INOUT) :: NELEM,NPTFR,NDP
113 INTEGER,
INTENT(IN) :: IPARAM(10),IPOBO(*)
114 LOGICAL,
INTENT(IN) :: DEBU,SUIT,ECRI,LISTIN,SORLEO(*)
115 CHARACTER(LEN=3),
INTENT(IN) :: STD
116 CHARACTER(LEN=72),
INTENT(IN) :: TITRE
118 CHARACTER(LEN=32),
INTENT(IN) :: TEXTE(*),VARCLA(nvarcl)
119 CHARACTER(LEN=32),
INTENT(INOUT) :: TEXTLU(*)
120 INTEGER,
INTENT(IN) :: X_ORIG, Y_ORIG
122 INTEGER IELEM,I,IB(10)
124 CHARACTER(LEN=32),
ALLOCATABLE :: VAR_INFO(:)
125 INTEGER DATETIME(6), IVAR, IERR
126 CHARACTER(LEN=80) :: TITSEL
134 IF(sorleo(i)) nvar = nvar + 1
138 ALLOCATE(var_info(nvar))
142 var_info(ivar) = texte(i)(1:32)
148 var_info(ivar) = varcla(i)(1:32)
154 titsel = repeat(
' ', 80)
157 CALL set_header(out_format,nfic,titsel,nvar,var_info,ierr)
171 & nelem,npoin,ikle,itrav(1:npoin),itrav(1:npoin),
172 & x,y,0,date,time,x_orig,y_orig,ierr)
176 & itrav(1+npoin:nelem*ndp+npoin+1),nelem,ndp,ierr)
183 IF(itrav(i).NE.0) nptfr = nptfr + 1
188 CALL mxptel(mxptvs,mxelvs,itrav(1+npoin),
189 & itrav(1+npoin+ndp*nelem),
190 & npoin,nelem,ndp,itrav,listin)
196 CALL check_call(ierr,
'FM3SEL:GET_MESH_DATA')
201 CALL check_call(ierr,
'GET_MESH_NELEM:TRIA')
204 CALL check_call(ierr,
'GET_MESH_NPOIN:TRIA')
208 CALL check_call(ierr,
'GET_MESH_CONNECTIVITY:TRIA')
215 ikle((i-1)*nelem+ielem) = ikles((ielem-1)*ndp+i)
220 IF(debu.AND.listin)
THEN 222 WRITE(
lu,501) nptfr,nelem,npoin
223 IF(npoin.LT.3.OR.nptfr.LT.3.OR.nptfr.GE.npoin)
THEN 224 WRITE(
lu,24) npoin,nptfr
234 24
FORMAT(1x,
'FM3SEL : NUMBER OF POINTS IN THE MESH: ',1i9,/,1x,
235 &
' NUMBER OF BOUNDARY POINTS: ',1i9,/,1x,
236 &
' WRONG DATA, PROGRAMME STOPPED')
237 301
FORMAT(1x,//,1x,
'TITLE: ',a72,/)
238 501
FORMAT(1x,
'NUMBER OF BOUNDARY POINTS: ',1i9,/,1x,
239 &
'NUMBER OF ELEMENTS:',1i9,/,1x,
'NUMBER OF POINTS:',1i9)
subroutine get_mesh_npoin(FFORMAT, FID, TYP_ELEM, NPOIN, IERR)
subroutine mxptel(MXPTVS, MXELVS, IKLES, IELM, NPOIN, NELEM, NDP, IPOBO, LISTIN)
subroutine set_mesh(FFORMAT, FILE_ID, MESH_DIM, TYPELM, NDP, NPTFR, NPTIR, NELEM, NPOIN, IKLE, IPOBO, KNOLG, X, Y, NPLAN, DATE, TIME, X_ORIG, Y_ORIG, IERR, Z, IN_PLACE)
subroutine get_bnd_ipobo(FFORMAT, FID, NPOIN, NELEBD, TYP_BND_ELEM, IPOBO, IERR)
subroutine get_mesh_nelem(FFORMAT, FID, TYP_ELEM, NELEM, IERR)
subroutine get_mesh_npoin_per_element(FFORMAT, FID, TYP_ELEM, NDP, IERR)
subroutine fm3sel(X, Y, NPOIN, NBOR, NFIC, STD, NVAR, TEXTE, TEXTLU, VARCLA, NVARCL, TITRE, SORLEO, NSOR, W, IKLE, IKLES, ITRAV, NELEM, NPTFR, NDP, MXPTVS, MXELVS, DATE, TIME, DEBU, SUIT, ECRI, LISTIN, IPARAM, IPOBO, X_ORIG, Y_ORIG)
subroutine get_mesh_date(FFORMAT, FID, DATE, IERR)
subroutine get_mesh_connectivity(FFORMAT, FID, TYP_ELEM, IKLE, NELEM, NDP, IERR)