Salome HOME
Homard executable
[modules/homard.git] / src / tool / Creation_Maillage / cmctri.F
1       subroutine cmctri ( aretri, famtri, hettri,
2      >                    filtri, pertri, nivtri,
3      >                    nutria, arete1, arete2, arete3,
4      >                    codetr, niveau )
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    Creation du Maillage - Creation d'un TRIangle
26 c    -           -          -             ---
27 c ______________________________________________________________________
28 c
29 c but : creation effective d'un triangle etant donne :
30 c       - le niveau du triangle
31 c       - le numero du triangle
32 c       - les numero globaux des aretes locales 1,2 et 3
33 c       - le code du triangle qui permet en appliquant les fonctions
34 c         i1, i2, i3 de determiner le numero d'ordre des aretes dans le
35 c         triplet de definition du triangle
36 c       remarque : l'ordre local des aretes et le code du triangle sont
37 c       fonction de l'element sur lequel on travail lors de l'appel de
38 c       ce sous-programme
39 c ______________________________________________________________________
40 c .        .     .        .                                            .
41 c .  nom   . e/s . taille .           description                      .
42 c .____________________________________________________________________.
43 c . aretri . es  .nouvtr*3. numeros des 3 aretes des triangles         .
44 c . hettri . es  . nouvtr . historique de l'etat des triangles         .
45 c . filtri . es  . nouvtr . premier fils des triangles                 .
46 c . pertri . es  . nouvtr . pere des triangles                         .
47 c . nivtri . es  . nouvtr . niveau des triangles                       .
48 c . famtri . es  . nouvtr . famille des triangles                      .
49 c . nutria . e   . 1      . numero du triangle a creer                 .
50 c . arete1 . e   . 1      . arete de numero local 1 dans le triangle   .
51 c . arete2 . e   . 1      . arete de numero local 2 dans le triangle   .
52 c . arete3 . e   . 1      . arete de numero local 3 dans le triangle   .
53 c . codetr . e   . 1      . code du triangle                           .
54 c . niveau . e   . 1      . niveau a attribuer au triangle             .
55 c ______________________________________________________________________
56 c
57 c====
58 c 0. declarations et dimensionnement
59 c====
60 c
61 c 0.1. ==> generalites
62 c
63       implicit none
64       save
65 c
66 c 0.2. ==> communs
67 c
68 #include "i1i2i3.h"
69 #include "nouvnb.h"
70 c
71 c 0.3. ==> arguments
72 c
73       integer aretri(nouvtr,3), famtri(nouvtr)
74       integer hettri(nouvtr), filtri(nouvtr), pertri(nouvtr)
75       integer nivtri(nouvtr)
76       integer nutria, arete1, arete2, arete3, codetr, niveau
77 c
78 c 0.4. ==> variables locales
79 c ______________________________________________________________________
80 c
81 c====
82 c 1. creation effective d'un triangle
83 c====
84 c
85 #ifdef _DEBUG_HOMARD_
86 #include "impr03.h"
87       write (1,90015) 'Triangle', nutria,
88      >                ', aretes', arete1, arete2, arete3
89 #endif
90       aretri(nutria,i1(codetr)) = arete1
91       aretri(nutria,i2(codetr)) = arete2
92       aretri(nutria,i3(codetr)) = arete3
93 c
94       famtri(nutria) = 1
95 c
96       hettri(nutria)  = 50
97       filtri(nutria)  = 0
98       pertri(nutria)  = 0
99       nivtri(nutria)  = niveau
100 c
101       end