The TELEMAC-MASCARET system  trunk
set_bnd.f
Go to the documentation of this file.
1 ! ******************
2  SUBROUTINE set_bnd
3 ! ******************
4 !
5  &(fformat,fid,type_bnd_elt,nelebd,ndp,ikle,nptfr,lihbor,liubor,
6  & livbor,hbor,ubor,vbor,chbord,
7  & litbor,tbor,atbor,btbor,color,ierr)
8 !
9 !***********************************************************************
10 ! HERMES V7P0 01/05/2014
11 !***********************************************************************
12 !
13 !brief Writes the boundary information into the mesh file
14 !
15 !history Y AUDOUIN (LNHE)
16 !+ 24/03/2014
17 !+ V7P0
18 !+
19 !
20 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
21 !| FFORMAT |-->| FORMAT OF THE FILE
22 !| FID |-->| FILE DESCRIPTOR
23 !| TYPE_BND_ELT |-->| TYPE OF THE BOUNDARY ELEMENTS
24 !| NELEBD |-->| NUMBER OF BOUNDARY ELEMENTS
25 !| NDP |-->| NUMBER OF POINTS PER BOUNDARY ELEMENT
26 !| IKLE |-->| CONNECTIVITY ARRAY FOR THE BOUNDARY ELEMENTS
27 !| NPTFR |-->| NUMBER OF BOUNDARY POINTS
28 !| LIHBOR |-->| TYPE OF BOUNDARY CONDITIONS ON DEPTH
29 !| LIUBOR |-->| TYPE OF BOUNDARY CONDITIONS ON U
30 !| LIVBOR |-->| TYPE OF BOUNDARY CONDITIONS ON V
31 !| HBOR |<--| PRESCRIBED BOUNDARY CONDITION ON DEPTH
32 !| UBOR |<--| PRESCRIBED BOUNDARY CONDITION ON VELOCITY U
33 !| VBOR |<--| PRESCRIBED BOUNDARY CONDITION ON VELOCITY V
34 !| CHBORD |<--| FRICTION COEFFICIENT AT BOUNDARY
35 !| LITBOR |-->| PHYSICAL BOUNDARY CONDITIONS FOR TRACERS
36 !| TBOR |<--| PRESCRIBED BOUNDARY CONDITION ON TRACER
37 !| ATBOR,BTBOR |<--| THERMAL EXCHANGE COEFFICIENTS.
38 !| COLOR |<--| Boundary color of the boundary element
39 !| IERR |<--| 0 IF NO ERROR DURING THE EXECUTION
40 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
41 !
42  USE utils_serafin
43  USE utils_med
44  USE utils_cgns
46  IMPLICIT NONE
47 !
48 !+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
49 !
50  CHARACTER(LEN=8), INTENT(IN) :: FFORMAT
51  INTEGER, INTENT(IN) :: FID
52  INTEGER, INTENT(IN) :: TYPE_BND_ELT
53  INTEGER, INTENT(IN) :: NELEBD
54  INTEGER, INTENT(IN) :: NDP
55  INTEGER, INTENT(IN) :: IKLE(nelebd*ndp)
56  INTEGER, INTENT(IN) :: NPTFR
57  INTEGER, INTENT(IN) :: LIUBOR(nptfr),LIVBOR(nptfr)
58  INTEGER, INTENT(IN) :: LIHBOR(nptfr),LITBOR(nptfr)
59  DOUBLE PRECISION, INTENT(IN) :: UBOR(nptfr),VBOR(nptfr)
60  DOUBLE PRECISION, INTENT(IN) :: HBOR(nptfr),CHBORD(nptfr)
61  DOUBLE PRECISION, INTENT(IN) :: TBOR(nptfr),ATBOR(nptfr)
62  DOUBLE PRECISION, INTENT(IN) :: BTBOR(nptfr)
63  INTEGER, INTENT(IN) :: COLOR(nptfr)
64  INTEGER, INTENT(OUT) :: IERR
65 !
66 !+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
67 !
68  SELECT CASE (fformat(1:7))
69  CASE ('SERAFIN')
70  CALL set_bnd_srf(fid,type_bnd_elt,nelebd,ndp,ikle,
71  & lihbor,liubor,
72  & livbor,hbor,ubor,vbor,chbord,
73  & litbor,tbor,atbor,btbor,color,ierr)
74  CASE ('MED ')
75  CALL set_bnd_med(fid,type_bnd_elt,nelebd,ndp,ikle,nptfr,
76  & lihbor,liubor,livbor,litbor,ierr)
77  CASE ('CGNS')
78  CALL set_bnd_cgns(fid,type_bnd_elt,nelebd,ndp,ikle,
79  & lihbor,liubor,
80  & livbor,hbor,ubor,vbor,chbord,
81  & litbor,tbor,atbor,btbor,ierr)
82  CASE DEFAULT
84  WRITE(error_message,*)
85  & 'GET_SET_BND: BAD FILE FORMAT: ',fformat
86  RETURN
87  END SELECT
88 !
89 !-----------------------------------------------------------------------
90 !
91  RETURN
92  END
subroutine set_bnd_med(FILE_ID, TYPE_BND_ELT, NELEBD, NDP, IKLE_BND, NPTFR, LIHBOR, LIUBOR, LIVBOR, LITBOR, IERR)
Definition: utils_med.F:4210
character(len=200) error_message
subroutine set_bnd(FFORMAT, FID, TYPE_BND_ELT, NELEBD, NDP, IKLE, NPTFR, LIHBOR, LIUBOR, LIVBOR, HBOR, UBOR, VBOR, CHBORD, LITBOR, TBOR, ATBOR, BTBOR, COLOR, IERR)
Definition: set_bnd.f:9
subroutine set_bnd_cgns(FILE_ID, TYPE_BND_ELT, NELEBD, NDP, IKLE, LIHBOR, LIUBOR, LIVBOR, HBOR, UBOR, VBOR, CHBORD, LITBOR, TBOR, ATBOR, BTBOR, IERR)
Definition: utils_cgns.F:2350
integer, parameter hermes_unknown_file_format_err
subroutine set_bnd_srf(FILE_ID, TYPE_BND_ELT, NELEBD, NDP, IKLE, LIHBOR, LIUBOR, LIVBOR, HBOR, UBOR, VBOR, CHBORD, LITBOR, TBOR, ATBOR, BTBOR, COLOR, IERR)