18 implicit real*8 (a-h,o-z)
20 integer(kind=kint),
dimension(:),
allocatable :: WR, WS
23 type (hecmwST_local_mesh) :: hecMESH
31 do iedg= 1, hecmesh%n_adapt_edge
32 if (hecmesh%adapt_iemb(iedg).eq.1) hecmesh%adapt_iemb(iedg)=2
37 do icel0= 1, hecmesh%n_adapt_act_elem_341
38 icel= hecmesh%adapt_act_elem_341(icel0)
39 is= hecmesh%elem_node_index(icel-1)
40 n1= hecmesh%elem_node_item (is+1)
41 n2= hecmesh%elem_node_item (is+2)
42 n3= hecmesh%elem_node_item (is+3)
43 n4= hecmesh%elem_node_item (is+4)
59 if (hecmesh%adapt_iemb(ie1).eq.2) ndiv(1)= 1
60 if (hecmesh%adapt_iemb(ie2).eq.2) ndiv(2)= 1
61 if (hecmesh%adapt_iemb(ie3).eq.2) ndiv(3)= 1
62 if (hecmesh%adapt_iemb(ie4).eq.2) ndiv(4)= 1
63 if (hecmesh%adapt_iemb(ie5).eq.2) ndiv(5)= 1
64 if (hecmesh%adapt_iemb(ie6).eq.2) ndiv(6)= 1
66 ndivsum= ndiv(1)+ndiv(2)+ndiv(3)+ndiv(4)+ndiv(5)+ndiv(6)
68 if (ndivsum.ge.1)
then
69 if (hecmesh%adapt_iemb(ie1).eq.0) hecmesh%adapt_iemb(ie1)= 1
70 if (hecmesh%adapt_iemb(ie2).eq.0) hecmesh%adapt_iemb(ie2)= 1
71 if (hecmesh%adapt_iemb(ie3).eq.0) hecmesh%adapt_iemb(ie3)= 1
72 if (hecmesh%adapt_iemb(ie4).eq.0) hecmesh%adapt_iemb(ie4)= 1
73 if (hecmesh%adapt_iemb(ie5).eq.0) hecmesh%adapt_iemb(ie5)= 1
74 if (hecmesh%adapt_iemb(ie6).eq.0) hecmesh%adapt_iemb(ie6)= 1
80 do icel0= 1, hecmesh%n_adapt_act_elem_351
81 icel= hecmesh%adapt_act_elem_351(icel0)
82 is= hecmesh%elem_node_index(icel-1)
83 n1= hecmesh%elem_node_item (is+1)
84 n2= hecmesh%elem_node_item (is+2)
85 n3= hecmesh%elem_node_item (is+3)
86 n4= hecmesh%elem_node_item (is+4)
87 n5= hecmesh%elem_node_item (is+5)
88 n6= hecmesh%elem_node_item (is+6)
104 if (hecmesh%adapt_iemb(ie1).eq.2) ndiv(1)= 1
105 if (hecmesh%adapt_iemb(ie2).eq.2) ndiv(2)= 1
106 if (hecmesh%adapt_iemb(ie3).eq.2) ndiv(3)= 1
107 if (hecmesh%adapt_iemb(ie4).eq.2) ndiv(4)= 1
108 if (hecmesh%adapt_iemb(ie5).eq.2) ndiv(5)= 1
109 if (hecmesh%adapt_iemb(ie6).eq.2) ndiv(6)= 1
111 ndivsum= ndiv(1)+ndiv(2)+ndiv(3)+ndiv(4)+ndiv(5)+ndiv(6)
113 if (ndivsum.ge.1)
then
114 if (hecmesh%adapt_iemb(ie1).eq.0) hecmesh%adapt_iemb(ie1)= 1
115 if (hecmesh%adapt_iemb(ie2).eq.0) hecmesh%adapt_iemb(ie2)= 1
116 if (hecmesh%adapt_iemb(ie3).eq.0) hecmesh%adapt_iemb(ie3)= 1
117 if (hecmesh%adapt_iemb(ie4).eq.0) hecmesh%adapt_iemb(ie4)= 1
118 if (hecmesh%adapt_iemb(ie5).eq.0) hecmesh%adapt_iemb(ie5)= 1
119 if (hecmesh%adapt_iemb(ie6).eq.0) hecmesh%adapt_iemb(ie6)= 1
126 n1= hecmesh%adapt_import_edge_index(hecmesh%n_neighbor_pe)
127 n2= hecmesh%adapt_export_edge_index(hecmesh%n_neighbor_pe)
129 allocate (ws(m), wr(m))
134 & ( hecmesh%n_adapt_edge, hecmesh%n_neighbor_pe, hecmesh%neighbor_pe, &
135 & hecmesh%adapt_import_edge_index, &
136 & hecmesh%adapt_import_edge_item , &
137 & hecmesh%adapt_export_edge_index, &
138 & hecmesh%adapt_export_edge_item , &
139 & ws, wr, hecmesh%adapt_iemb, hecmesh%MPI_COMM, &
140 & hecmesh%my_rank, 1, m)
145 & ( hecmesh%n_adapt_edge, hecmesh%n_neighbor_pe, hecmesh%neighbor_pe, &
146 & hecmesh%adapt_import_edge_index, &
147 & hecmesh%adapt_import_edge_item , &
148 & hecmesh%adapt_export_edge_index, &
149 & hecmesh%adapt_export_edge_item , &
150 & ws, wr, hecmesh%adapt_iemb, hecmesh%MPI_COMM, &
151 & hecmesh%my_rank, 1, m)
153 do iedg= 1, hecmesh%n_adapt_edge
154 if (hecmesh%adapt_iemb(iedg).eq.1) hecmesh%adapt_iemb(iedg)=2
170 do icel0= 1, hecmesh%n_adapt_act_elem_341
171 icel= hecmesh%adapt_act_elem_341(icel0)
172 is= hecmesh%elem_node_index(icel-1)
173 n1= hecmesh%elem_node_item (is+1)
174 n2= hecmesh%elem_node_item (is+2)
175 n3= hecmesh%elem_node_item (is+3)
176 n4= hecmesh%elem_node_item (is+4)
192 if (hecmesh%adapt_iemb(ie1).eq.2) ndiv(1)= 1
193 if (hecmesh%adapt_iemb(ie2).eq.2) ndiv(2)= 1
194 if (hecmesh%adapt_iemb(ie3).eq.2) ndiv(3)= 1
195 if (hecmesh%adapt_iemb(ie4).eq.2) ndiv(4)= 1
196 if (hecmesh%adapt_iemb(ie5).eq.2) ndiv(5)= 1
197 if (hecmesh%adapt_iemb(ie6).eq.2) ndiv(6)= 1
199 ndivsum= ndiv(1)+ndiv(2)+ndiv(3)+ndiv(4)+ndiv(5)+ndiv(6)
201 if (ndivsum.ge.1)
then
202 if (hecmesh%adapt_iemb(ie1).eq.0) hecmesh%adapt_iemb(ie1)= 1
203 if (hecmesh%adapt_iemb(ie2).eq.0) hecmesh%adapt_iemb(ie2)= 1
204 if (hecmesh%adapt_iemb(ie3).eq.0) hecmesh%adapt_iemb(ie3)= 1
205 if (hecmesh%adapt_iemb(ie4).eq.0) hecmesh%adapt_iemb(ie4)= 1
206 if (hecmesh%adapt_iemb(ie5).eq.0) hecmesh%adapt_iemb(ie5)= 1
207 if (hecmesh%adapt_iemb(ie6).eq.0) hecmesh%adapt_iemb(ie6)= 1
213 do icel0= 1, hecmesh%n_adapt_act_elem_351
214 icel= hecmesh%adapt_act_elem_351(icel0)
215 is= hecmesh%elem_node_index(icel-1)
216 n1= hecmesh%elem_node_item (is+1)
217 n2= hecmesh%elem_node_item (is+2)
218 n3= hecmesh%elem_node_item (is+3)
219 n4= hecmesh%elem_node_item (is+4)
220 n5= hecmesh%elem_node_item (is+5)
221 n6= hecmesh%elem_node_item (is+6)
237 if (hecmesh%adapt_iemb(ie1).eq.2) ndiv(1)= 1
238 if (hecmesh%adapt_iemb(ie2).eq.2) ndiv(2)= 1
239 if (hecmesh%adapt_iemb(ie3).eq.2) ndiv(3)= 1
240 if (hecmesh%adapt_iemb(ie4).eq.2) ndiv(4)= 1
241 if (hecmesh%adapt_iemb(ie5).eq.2) ndiv(5)= 1
242 if (hecmesh%adapt_iemb(ie6).eq.2) ndiv(6)= 1
244 ndivsum= ndiv(1)+ndiv(2)+ndiv(3)+ndiv(4)+ndiv(5)+ndiv(6)
246 if (ndivsum.ge.1)
then
247 if (hecmesh%adapt_iemb(ie1).eq.0) hecmesh%adapt_iemb(ie1)= 1
248 if (hecmesh%adapt_iemb(ie2).eq.0) hecmesh%adapt_iemb(ie2)= 1
249 if (hecmesh%adapt_iemb(ie3).eq.0) hecmesh%adapt_iemb(ie3)= 1
250 if (hecmesh%adapt_iemb(ie4).eq.0) hecmesh%adapt_iemb(ie4)= 1
251 if (hecmesh%adapt_iemb(ie5).eq.0) hecmesh%adapt_iemb(ie5)= 1
252 if (hecmesh%adapt_iemb(ie6).eq.0) hecmesh%adapt_iemb(ie6)= 1
262 & ( hecmesh%n_adapt_edge, &
263 & hecmesh%n_neighbor_pe, hecmesh%neighbor_pe, &
264 & hecmesh%adapt_import_edge_index, &
265 & hecmesh%adapt_import_edge_item , &
266 & hecmesh%adapt_export_edge_index, &
267 & hecmesh%adapt_export_edge_item , &
268 & ws, wr, hecmesh%adapt_iemb, hecmesh%MPI_COMM, &
269 & hecmesh%my_rank, 1, m)
274 & ( hecmesh%n_adapt_edge, &
275 & hecmesh%n_neighbor_pe, hecmesh%neighbor_pe, &
276 & hecmesh%adapt_import_edge_index, &
277 & hecmesh%adapt_import_edge_item , &
278 & hecmesh%adapt_export_edge_index, &
279 & hecmesh%adapt_export_edge_item , &
280 & ws, wr, hecmesh%adapt_iemb, hecmesh%MPI_COMM, &
281 & hecmesh%my_rank, 1, m)
285 do iedg= 1, hecmesh%n_adapt_edge
286 if ( hecmesh%adapt_iemb(iedg).eq.1 )
then
287 hecmesh%adapt_iemb(iedg)= 2
298 do iedg= 1, hecmesh%n_adapt_edge
299 if ( hecmesh%adapt_iemb(iedg).eq.2 ) hecmesh%adapt_iemb(iedg)= 1