The TELEMAC-MASCARET system  trunk
lecsellim.f
Go to the documentation of this file.
1 ! *****************
2  SUBROUTINE lecsellim
3 ! *****************
4 !
5  &(nlim,lihbor,liubor,livbor,hbor,ubor,vbor,
6  & chbord,nbor,npmax,nptfr,ncolor)
7 !
8 !***********************************************************************
9 ! STBTEL
10 !***********************************************************************
11 !
12 !brief READS THE BOUNDARY CONDITIONS FILE AND
13 !+ STORES IN ARRAYS THE DATA READ.
14 !
15 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
16 !| NLIM |-->| LOGICAL UNIT OF BOUNDARY CONDITIONS FILE
17 !| LIHBOR |-->| TYPE OF BOUNDARY CONDITIONS ON DEPTH
18 !| LIUBOR |-->| TYPE OF BOUNDARY CONDITIONS ON U
19 !| LIVBOR |-->| TYPE OF BOUNDARY CONDITIONS ON V
20 !| HBOR |<--| PRESCRIBED BOUNDARY CONDITION ON DEPTH
21 !| UBOR |<--| PRESCRIBED BOUNDARY CONDITION ON VELOCITY U
22 !| VBOR |<--| PRESCRIBED BOUNDARY CONDITION ON VELOCITY V
23 !| CHBORD |<--| FRICTION COEFFICIENT AT BOUNDARY
24 !| NBORD |<--| BOUNDARY NUMBERING
25 !| NPTFR |-->| NUMBER OF BOUNDARY POINTS
26 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
27 !
28  USE bief
32  IMPLICIT NONE
33 !
34 !+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
35 !
36  INTEGER, INTENT(IN) :: NLIM
37  INTEGER, INTENT(IN) :: NPMAX
38  INTEGER, INTENT(INOUT) :: LIUBOR(npmax),LIVBOR(npmax)
39  INTEGER, INTENT(INOUT) :: LIHBOR(npmax)
40  INTEGER, INTENT(INOUT) :: NBOR(npmax)
41  INTEGER, INTENT(OUT) :: NPTFR
42  DOUBLE PRECISION, INTENT(INOUT) :: UBOR(npmax,2),VBOR(npmax,2)
43  DOUBLE PRECISION, INTENT(INOUT) :: HBOR(npmax),CHBORD(npmax)
44  INTEGER, INTENT(INOUT) :: NCOLOR(npmax)
45 !
46 !+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
47 !
48  INTEGER :: I, IERR
49 !
50  CALL get_bnd_npoin(fformat,nlim,typ_bnd_elem,nptfr,ierr)
51 
52  CALL get_bnd_value(fformat, nlim, typ_bnd_elem, nptfr, lihbor,
53  & liubor, livbor, hbor, ubor(:,1), vbor(:,1),
54  & chbord, .false., lihbor, hbor, hbor, hbor,
55  & nptfr, ierr)
56  WRITE(lu,*) 'NPTFR FROM LECSELLIM ', nptfr
57  CALL check_call(ierr, 'LECSELIM:GET_BND_VALUE')
58 
59  CALL get_bnd_numbering(fformat, nlim, typ_bnd_elem, nptfr,
60  & nbor, ierr)
61  CALL check_call(ierr, 'LECSELIM:GET_BND_NUMBERING')
62 
63  DO i=1,nptfr
64  ncolor(i) = i
65  ENDDO
66  ubor(:,2) = ubor(:, 1)
67  vbor(:,2) = vbor(:, 1)
68 
69  END SUBROUTINE lecsellim
subroutine get_bnd_npoin(FFORMAT, FID, TYPE_BND_ELEM, NPTFR, IERR)
Definition: get_bnd_npoin.f:7
character(len=8) fformat
subroutine get_bnd_numbering(FFORMAT, FID, TYP_BND_ELEM, NPTFR, NBOR, IERR)
subroutine lecsellim(NLIM, LIHBOR, LIUBOR, LIVBOR, HBOR, UBOR, VBOR, CHBORD, NBOR, NPMAX, NPTFR, NCOLOR)
Definition: lecsellim.f:8
subroutine get_bnd_value(FFORMAT, FID, TYP_BND_ELEM, NELEBD, LIHBOR, LIUBOR, LIVBOR, HBOR, UBOR, VBOR, CHBORD, TRAC, LITBOR, TBOR, ATBOR, BTBOR, NPTFR, IERR)
Definition: get_bnd_value.f:9
Definition: bief.f:3