The TELEMAC-MASCARET system  trunk
get_bnd_value.f
Go to the documentation of this file.
1 ! ************************
2  SUBROUTINE get_bnd_value
3 ! ************************
4 !
5  &(fformat,fid,typ_bnd_elem,nelebd,lihbor,liubor,
6  & livbor,hbor,ubor,vbor,chbord,trac,
7  & litbor,tbor,atbor,btbor,nptfr,ierr)
8 !
9 !***********************************************************************
10 ! HERMES V7P0 01/05/2014
11 !***********************************************************************
12 !
13 !brief Returns an array containing the boundary type for each
14 !+ boundary point
15 !
16 !history Y AUDOUIN (LNHE)
17 !+ 24/03/2014
18 !+ V7P0
19 !+
20 !
21 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
22 !| FFORMAT |-->| FORMAT OF THE FILE
23 !| FID |-->| FILE DESCRIPTOR
24 !| TYP_BND_ELEM |-->| TYPE OF THE BOUNDARY ELEMENTS
25 !| NELEBD |-->| NUMBER OF BOUNDARY ELEMENTS
26 !| LIHBOR |-->| TYPE OF BOUNDARY CONDITIONS ON DEPTH
27 !| LIUBOR |-->| TYPE OF BOUNDARY CONDITIONS ON U
28 !| LIVBOR |-->| TYPE OF BOUNDARY CONDITIONS ON V
29 !| HBOR |<--| PRESCRIBED BOUNDARY CONDITION ON DEPTH
30 !| UBOR |<--| PRESCRIBED BOUNDARY CONDITION ON VELOCITY U
31 !| VBOR |<--| PRESCRIBED BOUNDARY CONDITION ON VELOCITY V
32 !| CHBORD |<--| FRICTION COEFFICIENT AT BOUNDARY
33 !| TRAC |-->| IF YES, THERE ARE TRACERS
34 !| LITBOR |-->| PHYSICAL BOUNDARY CONDITIONS FOR TRACERS
35 !| TBOR |<--| PRESCRIBED BOUNDARY CONDITION ON TRACER
36 !| ATBOR,BTBOR |<--| THERMAL EXCHANGE COEFFICIENTS.
37 !| NPTFR |-->| NUMBER OF BOUNDARY POINTS
38 !| IERR |<--| 0 IF NO ERROR DURING THE EXECUTION
39 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
40 !
41  USE utils_serafin
42  USE utils_med
43  USE utils_cgns
45  IMPLICIT NONE
46 !
47 !+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
48 !
49  CHARACTER(LEN=8), INTENT(IN) :: FFORMAT
50  INTEGER, INTENT(IN) :: FID
51  INTEGER, INTENT(IN) :: TYP_BND_ELEM
52  INTEGER, INTENT(IN) :: NELEBD
53  INTEGER, INTENT(IN) :: NPTFR
54  INTEGER, INTENT(INOUT) :: LIHBOR(nptfr)
55  INTEGER, INTENT(INOUT) :: LIUBOR(nptfr),LIVBOR(nptfr)
56  INTEGER, INTENT(INOUT) :: LITBOR(*)
57  DOUBLE PRECISION, INTENT(INOUT) :: UBOR(*),VBOR(*)
58  DOUBLE PRECISION, INTENT(INOUT) :: HBOR(nptfr),CHBORD(nptfr)
59  DOUBLE PRECISION, INTENT(INOUT) :: TBOR(*),ATBOR(*)
60  DOUBLE PRECISION, INTENT(INOUT) :: BTBOR(*)
61  LOGICAL, INTENT(IN) :: TRAC
62  INTEGER, INTENT(OUT) :: IERR
63 !
64 !+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
65 !
66  INTEGER :: I
67 !
68 !-----------------------------------------------------------------------
69 !
70  IF((typ_bnd_elem.EQ.type_null).OR.(nelebd.EQ.0)) RETURN
71 !
72  SELECT CASE (fformat(1:7))
73  CASE ('SERAFIN')
74  CALL get_bnd_value_srf(fid, typ_bnd_elem,nptfr,lihbor,liubor,
75  & livbor,hbor,ubor,vbor,chbord,trac,
76  & litbor,tbor,atbor,btbor, ierr)
77  CASE ('MED ')
78  CALL get_bnd_value_med(fid,typ_bnd_elem,nelebd,lihbor,
79  & liubor,livbor,trac,litbor,
80  & nptfr,ierr)
81  DO i=1,nptfr
82  hbor(i) = 0.d0
83  ubor(i) = 0.d0
84  vbor(i) = 0.d0
85  chbord(i) = 0.d0
86  IF(trac) THEN
87  tbor(i) = 0.d0
88  atbor(i) = 0.d0
89  btbor(i) = 0.d0
90  ENDIF
91  ENDDO
92  CASE ('CGNS ')
93  CALL get_bnd_value_cgns(fid, typ_bnd_elem,nptfr,lihbor,liubor,
94  & livbor,hbor,ubor,vbor,chbord,trac,
95  & litbor,tbor,atbor,btbor, ierr)
96  CASE DEFAULT
98  WRITE(error_message,*)
99  & 'GET_BND_VALUE: BAD FILE FORMAT: ',fformat
100  RETURN
101  END SELECT
102 !
103 !-----------------------------------------------------------------------
104 !
105  RETURN
106  END
subroutine get_bnd_value_srf(FILE_ID, TYP_BND_ELEM, NPTFR, LIHBOR, LIUBOR, LIVBOR, HBOR, UBOR, VBOR, CHBORD, TRAC, LITBOR, TBOR, ATBOR, BTBOR, IERR)
subroutine get_bnd_value_med(FILE_ID, TYPE_BND_ELEM, NELEBD, LIHBOR, LIUBOR, LIVBOR, TRAC, LITBOR, NPTFR, IERR)
Definition: utils_med.F:2563
character(len=200) error_message
subroutine get_bnd_value_cgns(FILE_ID, TYP_BND_ELEM, NPTFR, LIHBOR, LIUBOR, LIVBOR, HBOR, UBOR, VBOR, CHBORD, TRAC, LITBOR, TBOR, ATBOR, BTBOR, IERR)
Definition: utils_cgns.F:1458
integer, parameter type_null
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
integer, parameter hermes_unknown_file_format_err