The TELEMAC-MASCARET system  trunk
masque_artemis.f
Go to the documentation of this file.
1 ! *************************
2  SUBROUTINE masque_artemis
3 ! *************************
4 !
5 !
6 !***********************************************************************
7 ! ARTEMIS V6P1 21/08/2010
8 !***********************************************************************
9 !
10 !brief FILLS THE ARRAYS MASK1, MASK2, MASK3, MASK4, MASK5
11 !+
12 !+ MASK1: CORRESPONDS TO INCIDENT WAVES (KINC)
13 !+ MASK2: CORRESPONDS TO FREE EXIT (KSORT)
14 !+ MASK3: CORRESPONDS TO SOLID BOUNDARY (KLOG)
15 !+ MASK4: CORRESPONDS TO IMPOSED WAVES (KENT)
16 !+ MASK5: CORRESPONDS TO INCIDENT POTENTIAL (KPOT)
17 !
18 !history D. AELBRECHT (LNH)
19 !+ 06/07/1999
20 !+ V5P1
21 !+
22 !
23 !history C. DENIS (SINETICS)
24 !+ 18/03/2010
25 !+ V6P0
26 !+
27 !
28 !history N.DURAND (HRW), S.E.BOURBAN (HRW)
29 !+ 13/07/2010
30 !+ V6P0
31 !+ Translation of French comments within the FORTRAN sources into
32 !+ English comments
33 !
34 !history N.DURAND (HRW), S.E.BOURBAN (HRW)
35 !+ 21/08/2010
36 !+ V6P0
37 !+ Creation of DOXYGEN tags for automated documentation and
38 !+ cross-referencing of the FORTRAN sources
39 !
40 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
41 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
42 !
43  USE bief
46 !
48  IMPLICIT NONE
49 !
50 !
51  INTEGER IK
52 !
53 !-----------------------------------------------------------------------
54 !
55 !
56 ! INITIALISES (SETS TO 0) ALL MASKING VECTORS
57 !
58  CALL os('X=C ', x=mask1, c=0.d0)
59  CALL os('X=C ', x=mask2, c=0.d0)
60  CALL os('X=C ', x=mask3, c=0.d0)
61  CALL os('X=C ', x=mask4, c=0.d0)
62  CALL os('X=C ', x=mask5, c=0.d0)
63 !
64  DO ik=1,nptfr
65 !
66  IF (lihbor%I(ik).EQ.klog) THEN
67  mask3%R(ik) = 1.d0
68  ELSEIF (lihbor%I(mesh%KP1BOR%I(ik)).NE.klog) THEN
69  IF (lihbor%I(ik).EQ.kinc) THEN
70  mask1%R(ik) = 1.d0
71  ENDIF
72  IF (lihbor%I(ik).EQ.ksort) THEN
73  mask2%R(ik) = 1.d0
74  ENDIF
75  IF (lihbor%I(ik).EQ.kent) THEN
76  mask4%R(ik) = 1.d0
77  ENDIF
78  IF (lihbor%I(ik).EQ.kpot) THEN
79  mask5%R(ik) = 1.d0
80  ENDIF
81  ELSE
82  mask3%R(ik) = 1.d0
83  ENDIF
84  ENDDO ! IK
85 !
86  RETURN
87  END
88 
type(bief_obj), target lihbor
type(bief_obj), target mask3
type(bief_obj), target mask4
type(bief_obj), target mask1
type(bief_obj), target mask5
subroutine masque_artemis
Definition: masque_artemis.f:4
integer, parameter kpot
integer, parameter kent
type(bief_mesh), target mesh
type(bief_obj), target mask2
integer, parameter kinc
double precision, dimension(:), pointer x
subroutine os(OP, X, Y, Z, C, IOPT, INFINI, ZERO)
Definition: os.f:7
type(bief_obj), target c
integer, parameter klog
integer, parameter ksort
Definition: bief.f:3