36
37
38
39
40
41
42
43
44
45
46
47
48
50 USE elbufdef_mod
54
55
56
57#include "implicit_f.inc"
58
59
60
61#include "com01_c.inc"
62#include "vect01_c.inc"
63#include "param_c.inc"
64#include "inter22.inc"
65
66
67
68 INTEGER,INTENT(IN) :: IFUNC, IFLOW(*),IPARG(NPARG,*),IX(NIX,*),ITAB(*),NIX,NV46
70 REAL,INTENT(INOUT) :: WA4(*)
71
72 TYPE (ELBUF_STRUCT_), DIMENSION(NGROUP), TARGET :: ELBUF_TAB
73
74
75
76 INTEGER :: I, ITYP, NEL,
77 . NNO_L_LJJ,
78 . IALEL,NNOD, MLW,
79 . NG, NBF, NBL, IB, ICELL, NIN,NCELL,
80 . NODE_ID,INEW
81 TYPE(G_BUFEL_) ,POINTER :: GBUF
82
83
84
85
86
87
88
89
90
91
92
93 IF(int22==0)RETURN
94
95
96
97
98 nnod = nix-3
99 inew = 29-ifunc
100
101
102
103
104
105
106
107
108 nbf = 1
110 nin = 1
111
112 DO ng = 1, ngroup
113 mlw = iparg(1,ng)
114 nel = iparg(2,ng)
115 nft = iparg(3,ng)
116 ityp = iparg(5,ng)
117 ialel = iparg(7,ng)+iparg(11,ng)
118 IF(ityp/=1 .AND. ityp/=2)cycle
119 IF(ialel==0)cycle
120 IF(mlw/=6 .AND. mlw/=11 .AND. mlw/=37.AND.mlw/=51)cycle
121 gbuf => elbuf_tab(ng)%GBUF
122 nin = 1
123 DO i=1,nel
124 ib = nint(gbuf%TAG22(i))
125
126
127
128 IF(ib==0)cycle
129
130
131
132 icell = 0
134 DO WHILE (icell<=ncell)
135 icell = icell +1
136 IF (icell>ncell .AND. ncell/=0)icell=9
137 node_id =
brick_list(nin,ib)%POLY(icell)%ID_FREE_NODE
138 IF(node_id<=0)EXIT
139 IF(inew == 1)THEN
140 wa4(node_id) =
brick_list(nin,ib)%POLY(icell)%VNEW
141 ELSE
142 wa4(node_id) =
brick_list(nin,ib)%POLY(icell)%VOLD
143 ENDIF
144 ENDDO
145 enddo
146 enddo
147
148
149
150 RETURN
type(brick_entity), dimension(:,:), allocatable, target brick_list