Salome HOME
Homard executable
[modules/homard.git] / src / tool / AP_Conversion / pcmaa0.F
1       subroutine pcmaa0 ( rsarto,
2      >                    hetare,
3      >                    famare, cfaare,
4      >                    ulsort, langue, codret )
5 c ______________________________________________________________________
6 c
7 c                             H O M A R D
8 c
9 c Outil de Maillage Adaptatif par Raffinement et Deraffinement d'EDF R&D
10 c
11 c Version originale enregistree le 18 juin 1996 sous le numero 96036
12 c aupres des huissiers de justice Simart et Lavoir a Clamart
13 c Version 11.2 enregistree le 13 fevrier 2015 sous le numero 2015/014
14 c aupres des huissiers de justice
15 c Lavoir, Silinski & Cherqui-Abrahmi a Clamart
16 c
17 c    HOMARD est une marque deposee d'Electricite de France
18 c
19 c Copyright EDF 1996
20 c Copyright EDF 1998
21 c Copyright EDF 2002
22 c Copyright EDF 2020
23 c ______________________________________________________________________
24 c
25 c    aPres adaptation - Conversion - MAillage connectivite - Aretes
26 c     -                 -            --                      -
27 c    - phase 0
28 c            -
29 c ______________________________________________________________________
30 c
31 c remarque : pcmaar et pcmaa0 sont des clones
32 c remarque : pcmaa0, pcmat0 et pcmaq0 sont des clones
33 c ______________________________________________________________________
34 c .        .     .        .                                            .
35 c .  nom   . e/s . taille .           description                      .
36 c .____________________________________________________________________.
37 c . rsarto .  s  .   1    . nombre d'aretes actives et du calcul       .
38 c . hetare . e   . nbarto . historique de l'etat des aretes            .
39 c . famare . e   . nbarto . famille des aretes                         .
40 c . cfaare . e   . nctfar*. codes des familles des aretes              .
41 c .        .     . nbfare .   1 : famille MED                          .
42 c .        .     .        .   2 : type de segment                      .
43 c .        .     .        .   3 : orientation                          .
44 c .        .     .        .   4 : famille d'orientation inverse        .
45 c .        .     .        .   5 : numero de ligne de frontiere         .
46 c .        .     .        .  > 0 si concernee par le suivi de frontiere.
47 c .        .     .        . <= 0 si non concernee                      .
48 c .        .     .        .   6 : famille frontiere active/inactive    .
49 c .        .     .        .   7 : numero de surface de frontiere       .
50 c .        .     .        . + l : appartenance a l'equivalence l       .
51 c . ulsort . e   .   1    . numero d'unite logique de la liste standard.
52 c . langue . e   .    1   . langue des messages                        .
53 c .        .     .        . 1 : francais, 2 : anglais                  .
54 c . codret . es  .    1   . code de retour des modules                 .
55 c .        .     .        . 0 : pas de probleme                        .
56 c .        .     .        . 1 : probleme                               .
57 c ______________________________________________________________________
58 c
59 c====
60 c 0. declarations et dimensionnement
61 c====
62 c
63 c 0.1. ==> generalites
64 c
65       implicit none
66       save
67 c
68       character*6 nompro
69       parameter ( nompro = 'PCMAA0' )
70 c
71 #include "nblang.h"
72 #include "coftex.h"
73 c
74 c 0.2. ==> communs
75 c
76 #include "envex1.h"
77 c
78 #include "impr02.h"
79 #include "envca1.h"
80 c
81 #include "nbfami.h"
82 #include "nombar.h"
83 c
84 #include "dicfen.h"
85 c
86 c 0.3. ==> arguments
87 c
88       integer rsarto
89 c
90       integer hetare(nbarto)
91 c
92       integer cfaare(nctfar,nbfare), famare(nbarto)
93 c
94       integer ulsort, langue, codret
95 c
96 c 0.4. ==> variables locales
97 c
98       integer etat
99       integer iaux
100 c
101       integer nbmess
102       parameter ( nbmess = 20 )
103       character*80 texte(nblang,nbmess)
104 c
105 c 0.5. ==> initialisations
106 c ______________________________________________________________________
107 c
108 c====
109 c 1. initialisations
110 c====
111 c
112 #include "impr01.h"
113 c
114 #ifdef _DEBUG_HOMARD_
115       write (ulsort,texte(langue,1)) 'Entree', nompro
116       call dmflsh (iaux)
117 #endif
118 c
119 #include "impr06.h"
120 c
121 c====
122 c 2. Decompte des aretes actives et du calcul
123 c====
124 c
125       rsarto = 0
126 c
127       do 21 , iaux = 1 , nbarto
128 c
129 #ifdef _DEBUG_HOMARD_
130       write (ulsort,texte(langue,11)) mess14(langue,2,1), iaux
131       write (ulsort,texte(langue,12))
132      >                     cotyel, cfaare(cotyel,famare(iaux))
133 #endif
134 c
135         if ( cfaare(cotyel,famare(iaux)).ne.0 ) then
136 c
137           etat = mod( hetare(iaux) , 10 )
138 c
139 #ifdef _DEBUG_HOMARD_
140       write (ulsort,texte(langue,13)) hetare(iaux), etat
141 #endif
142 c
143           if ( etat.eq.0 .or. hierar.ne.0 ) then
144 c
145             rsarto = nbarto
146             goto 22
147 c
148           endif
149 c
150         endif
151 c
152    21 continue
153 c
154    22 continue
155 c
156 #ifdef _DEBUG_HOMARD_
157       write (ulsort,texte(langue,18)) mess14(langue,3,1), rsarto
158 #endif
159 c
160 c====
161 c 3. la fin
162 c====
163 c
164       if ( codret.ne.0 ) then
165 c
166 #include "envex2.h"
167 c
168       write (ulsort,texte(langue,1)) 'Sortie', nompro
169       write (ulsort,texte(langue,2)) codret
170 c
171       endif
172 c
173 #ifdef _DEBUG_HOMARD_
174       write (ulsort,texte(langue,1)) 'Sortie', nompro
175       call dmflsh (iaux)
176 #endif
177 c
178       end