Salome HOME
Copyright update 2022
[modules/homard.git] / src / tool / Decision / deeli1.F
1       subroutine deeli1 ( insoar, decare, hetare,
2      >                    ulsort, langue, codret )
3 c ______________________________________________________________________
4 c
5 c                             H O M A R D
6 c
7 c Outil de Maillage Adaptatif par Raffinement et Deraffinement d'EDF R&D
8 c
9 c Version originale enregistree le 18 juin 1996 sous le numero 96036
10 c aupres des huissiers de justice Simart et Lavoir a Clamart
11 c Version 11.2 enregistree le 13 fevrier 2015 sous le numero 2015/014
12 c aupres des huissiers de justice
13 c Lavoir, Silinski & Cherqui-Abrahmi a Clamart
14 c
15 c    HOMARD est une marque deposee d'Electricite de France
16 c
17 c Copyright EDF 1996
18 c Copyright EDF 1998
19 c Copyright EDF 2002
20 c Copyright EDF 2020
21 c ______________________________________________________________________
22 c
23 c traitement des DEcisions - ELements Ignores - 1
24 c                --          --       -         -
25 c ______________________________________________________________________
26 c .        .     .        .                                            .
27 c .  nom   . e/s . taille .           description                      .
28 c .____________________________________________________________________.
29 c . insoar . e   . nbarma . information sur les sommets des aretes     .
30 c .        .     .        .  0 : ses deux sommets appartiennent        .
31 c .        .     .        .      exclusivement a un element soumis a   .
32 c .        .     .        .      l'adaptation                          .
33 c .        .     .        . -1 : son 1er sommet appartient a un element.
34 c .        .     .        .      ignore                                .
35 c .        .     .        .      le 2nd sommet appartient exclusivement.
36 c .        .     .        .      a un element soumis a l'adaptation    .
37 c .        .     .        . -2 : son 2nd sommet appartient a un element.
38 c .        .     .        .      ignore                                .
39 c .        .     .        .      le 1er sommet appartient exclusivement.
40 c .        .     .        .      a un element soumis a l'adaptation
41 c .        .     .        .  2 : ses deux sommets appartiennent a un   .
42 c .        .     .        .      element ignore                        .
43 c . decare . e   . nbarto . decisions des aretes                       .
44 c . hetare . e   . nbarto . historique de l'etat des aretes            .
45 c . ulsort . e   .   1    . numero d'unite logique de la liste standard.
46 c . langue . e   .    1   . langue des messages                        .
47 c .        .     .        . 1 : francais, 2 : anglais                  .
48 c . codret . es  .    1   . code de retour des modules                 .
49 c .        .     .        . 0 : pas de probleme                        .
50 c .        .     .        . 1 : il existe encore des non conformites   .
51 c ______________________________________________________________________
52 c
53 c====
54 c 0. declarations et dimensionnement
55 c====
56 c
57 c 0.1. ==> generalites
58 c
59       implicit none
60       save
61 c
62       character*6 nompro
63       parameter ( nompro = 'DEELI1' )
64 c
65 #include "nblang.h"
66 c
67 c 0.2. ==> communs
68 c
69 #include "envex1.h"
70 c
71 #include "nombar.h"
72 c
73 c 0.3. ==> arguments
74 c
75       integer decare(0:nbarto)
76       integer hetare(nbarto)
77       integer insoar(nbarma)
78 c
79       integer ulsort, langue, codret
80 c
81 c 0.4. ==> variables locales
82 c
83       integer iaux
84       integer larete, etatar
85 c
86       integer nbmess
87       parameter ( nbmess = 10 )
88       character*80 texte(nblang,nbmess)
89 c
90 c 0.5. ==> initialisations
91 c ______________________________________________________________________
92 c
93 c====
94 c 1. messages
95 c====
96 c
97 #include "impr01.h"
98 c
99 #ifdef _DEBUG_HOMARD_
100       write (ulsort,texte(langue,1)) 'Entree', nompro
101       call dmflsh (iaux)
102 #endif
103 c
104       texte(1,9) = '(''Le raffinement atteint la zone interdite'')'
105       texte(1,10) = '(''Nombre d''''aretes touchees :'',i6)'
106 c
107       texte(2,9) ='(''Refinement reached the forbidden zone'')'
108       texte(2,10) ='(''Number of reached edges :'',i6)'
109 c
110 #include "impr03.h"
111 c
112 c====
113 c 2. on explore toutes les aretes actives du macro-maillage : il ne
114 c    sert a rien de controle des aretes filles car elles ne peuvent pas
115 c    avoir ete creees !
116 c    on verifie qu'il n'y a pas de situation pour laquelle
117 c    l'arete d'un element ignore a ete decoupee
118 c====
119 c
120       codret = 0
121 c
122       do 20 , larete = 1 , nbarma
123 c
124         etatar = mod( hetare(larete) , 10 )
125 c
126         if ( etatar.eq.0 ) then
127 c
128           if ( decare(larete).eq.2 ) then
129 c
130             if ( insoar(larete).eq.2 ) then
131 c
132               codret = codret + 1
133 c
134             endif
135 c
136           endif
137 c
138         endif
139 c
140    20 continue
141 c
142 c====
143 c 3. la fin
144 c====
145 c
146       if ( codret.ne.0 ) then
147 c
148 #include "envex2.h"
149 c
150       write (ulsort,texte(langue,9))
151       write (ulsort,texte(langue,10)) codret
152       write (ulsort,texte(langue,1)) 'Sortie', nompro
153       write (ulsort,texte(langue,2)) codret
154 c
155       endif
156 c
157 #ifdef _DEBUG_HOMARD_
158       write (ulsort,texte(langue,1)) 'Sortie', nompro
159       call dmflsh (iaux)
160 #endif
161 c
162       end