The TELEMAC-MASCARET system  trunk
lecr3d.f
Go to the documentation of this file.
1 ! *****************
2  SUBROUTINE lecr3d
3 ! *****************
4 !
5  &(irec,at,z,u,v,w,npoin3,npoin2,nplan,nres,fformat,nva3,tab)
6 !
7 !***********************************************************************
8 ! POSTEL3D VERSION 5.1 01/09/99 T. DENOT (LNH) 01 30 87 74 89
9 ! FORTRAN90
10 !***********************************************************************
11 !
12 ! FONCTION : LIT LES ENREGISTREMENTS 3D D'UN PAS DE TEMPS
13 !
14 !-----------------------------------------------------------------------
15 ! ARGUMENTS
16 ! .________________.____.______________________________________________.
17 ! ! NOM !MODE! ROLE !
18 ! !________________!____!______________________________________________!
19 ! ! IREC !--> ! PAS DE TEMPS TRAITE !
20 ! ! AT !<-- ! TEMPS CORRESPONDANT AU PAS TRAITE !
21 ! ! U,V,W !<-- ! COMPOSANTES 3D DE LA VITESSE !
22 ! ! TA,TP !<-- ! CONCENTRATIONS DES TRACEURS !
23 ! ! NUX,NUY,NUZ !<-- ! COEFFICIENTS DE VISCOSITE POUR LES VITESSES !
24 ! ! NAX,NAY,NAZ !<-- ! COEFFICIENTS DE VISCOSITE POUR LES TR.ACTIFS !
25 ! ! NPX,NPY,NPZ !<-- ! COEFFICIENTS DE VISCOSITE POUR LES TR.PASSIFS!
26 ! ! RI !<-- ! NOMBRE DE RICHARDSON !
27 ! ! AK,EP !<-- ! VARIABLES DU MODELE K-EPSILON !
28 ! ! RHO !<-- ! ECARTS RELATIFS DE DENSITE !
29 ! ! H !<-- ! HAUTEUR D'EAU !
30 ! ! Z !<-- ! COTES DES NOEUDS !
31 ! ! ZSTAR ! -->! COTES RELATIVES DES NOEUDS !
32 ! ! NPOIN2 ! -->! NOMBRE DE POINTS DU MAILLAGE 2D !
33 ! ! NPOIN3 ! -->! NOMBRE DE POINTS DU MAILLAGE 3D !
34 ! ! NRES ! -->! NUMERO DE CANAL DU FICHIER DE RESULTAT 3D !
35 ! ! NPLAN ! -->! NOMBRE DE PLANS !
36 ! ! NPLINT ! -->! NUMERO DU PLAN DE CHANGEMENT DE TRANSFORMATION
37 ! ! NTRAC ! -->! NOMBRE DE TRACEURS ACTIFS !
38 ! ! NTRPA ! -->! NOMBRE DE TRACEURS PASSIFS !
39 ! ! SORG3D ! -->! INDICATEUR DES VARIABLES ENREGISTREES !
40 ! ! R4 ! -->! TABLEAU DE REELS SIMPLE PRECISION POUR LIT !
41 ! !________________!____!______________________________________________!
42 ! MODE : -->(DONNEE NON MODIFIEE), <--(RESULTAT), <-->(DONNEE MODIFIEE)
43 !
44 ! SOUS-PROGRAMME APPELE PAR : POSTEL3D
45 ! SOUS-PROGRAMME APPELES : LIT
46 !
47 !history Y AUDOUIN (LNHE)
48 !+ 25/05/2015
49 !+ V7P0
50 !+ Modification to comply with the hermes module
51 !
52 !**********************************************************************
53 !
54  USE bief
55  USE declarations_postel3d, ONLY: textlu
57  USE interface_postel3d, ex_lecr3d => lecr3d
58 !
60  IMPLICIT NONE
61 !
62 !+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
63 !
64  INTEGER, INTENT(IN) :: IREC
65  INTEGER, INTENT(IN) :: NPOIN3,NPOIN2,NPLAN,NRES
66  CHARACTER(LEN=8), INTENT(IN) :: FFORMAT
67  INTEGER, INTENT(INOUT) :: NVA3
68  type(bief_obj) , INTENT(INOUT) :: tab
69  DOUBLE PRECISION , INTENT(INOUT) :: AT
70  DOUBLE PRECISION , INTENT(INOUT) :: U(npoin3)
71  DOUBLE PRECISION , INTENT(INOUT) :: V(npoin3)
72  DOUBLE PRECISION , INTENT(INOUT) :: W(npoin3)
73  DOUBLE PRECISION , INTENT(INOUT) :: Z(npoin2,nplan)
74 !
75 !+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
76 !
77  INTEGER I
78  INTEGER IERR
79 !
80 !***********************************************************************
81 !
82 !
83 ! LECTURE DU TEMPS DU DEBUT DU CALCUL
84 !
85  CALL get_data_time(fformat,nres,irec,at,ierr)
86  CALL check_call(ierr,'LECR3D:GET_DATA_TIME')
87 !
88 ! LECTURE DES VITESSES U,V ET W
89 !
90  CALL get_data_value(fformat,nres,irec,textlu(1),z,npoin3,ierr)
91  CALL check_call(ierr,'LECR3D:GET_DATA_VALUE:Z')
92  CALL get_data_value(fformat,nres,irec,textlu(2),u,npoin3,ierr)
93  CALL check_call(ierr,'LECR3D:GET_DATA_VALUE:U')
94  CALL get_data_value(fformat,nres,irec,textlu(3),v,npoin3,ierr)
95  CALL check_call(ierr,'LECR3D:GET_DATA_VALUE:V')
96  CALL get_data_value(fformat,nres,irec,textlu(4),w,npoin3,ierr)
97  CALL check_call(ierr,'LECR3D:GET_DATA_VALUE:W')
98 !
99  IF (nva3.GT.4) THEN
100  DO i=1,nva3-4
101  CALL get_data_value(fformat,nres,irec,textlu(i+4),
102  & tab%ADR(i)%P%R,npoin3,ierr)
103  CALL check_call(ierr,'LECR3D:GET_DATA_VALUE:W')
104  ENDDO
105  ENDIF
106 !
107 !-----------------------------------------------------------------------
108 !
109  RETURN
110  END
subroutine get_data_value(FFORMAT, FID, RECORD, VAR_NAME, RES_VALUE, N, IERR)
Definition: get_data_value.f:7
character(len=32), dimension(100) textlu
subroutine get_data_time(FFORMAT, FID, RECORD, TIME, IERR)
Definition: get_data_time.f:7
subroutine lecr3d(IREC, AT, Z, U, V, W, NPOIN3, NPOIN2, NPLAN, NRES, FFORMAT, NVA3, TAB)
Definition: lecr3d.f:7
Definition: bief.f:3