32 1 X ,NEDGE ,LEDGE ,NUMNOD ,GAP_E ,GAP_E_L,
33 2 IGAP0,IGAP ,DRAD ,BGAPEMX,BGAPEMX_L,KREMNODE,
34 3 REMNODE,NREMNODE,I_START,I_MEM_REM,INOD2LIN,
35 4 TAGSECND,NOD2LIN,DGAPLOAD,PERM,PERM_INV,
40#include "implicit_f.inc"
50INTEGER INOD2LIN(NUMNOD+1),TAGSECND(NUMNOD),NOD2LIN(2*NEDGE)
51 INTEGER ,
INTENT(INOUT) :: PERM(NEDGE),PERM_INV(NEDGE)
53 . x(3,*),gap_e(*),gap_e_l(*),drad,bgapemx,bgapemx_l
54 my_real ,
INTENT(IN) :: dgapload
55 my_real ,
INTENT(INOUT) :: gap_maxneigh(nedge)
59 INTEGER I,II,J,JJ,K,LIN,ILIN,LEVEL,,NBLIN,LIN1,L,CPT1,CPT2,N,NBLIN_MAX,CPT_TOTAL
60 INTEGER :: IM1,IM2,FOUND,LL,TOT_SYM
61 INTEGER,
DIMENSION(:),
ALLOCATABLE ::
62 . KNOD2LIN,TAGNOD,ORIGIN,ITAG,LISTLIN,LISTLINTMP,LISTLINTOTAL,
64 INTEGER,
DIMENSION(:,:),
ALLOCATABLE :: TAG_SYM
66 . dmax,new_dist,pene,i11pene_lin,xl,gapv,gap,drad2
67 my_real,
DIMENSION(:),
ALLOCATABLE ::
76 ALLOCATE(knod2lin(numnod+1),gap_e_sort(nedge))
79 nod2lin(1:2*nedge) = 0
80 knod2lin(1:numnod+1) = 0
81 inod2lin(1:numnod+1) = 0
82 tagsecnd(1:numnod) = 0
86 tagsecnd(ledge(5,i)) = 1
87 tagsecnd(ledge(6,i)) = 1
89 gap_maxneigh(1:nedge) = gap_e(1:nedge)
94 gap_e_sort(i) = gap_e(i)
97 IF(
ALLOCATED(gap_e_sort))
DEALLOCATE(gap_e_sort)
99 i=perm(nedge - ii + 1)
109 knod2lin(n) = knod2lin(n) + 1
111 knod2lin(n) = knod2lin(n) + 1
116 inod2lin(i+1) = inod2lin(i) + knod2lin(i)
118 knod2lin(1:numnod+1) = inod2lin(1:numnod+1)
122 nod2lin(knod2lin(n)) = i
123 knod2lin(n) = knod2lin(n) + 1
125 nod2lin(knod2lin(n)) = i
126 knod2lin(n) = knod2lin(n) + 1
140 ALLOCATE(tagnod(numnod),origin(numnod),dist1(numnod))
143 dist1(1:numnod) = ep30
144 ALLOCATE(itag(nedge),listlin(nedge),listlintmp(nedge),listlintotal
148 listlintmp(1:nedge)=0
149 listlintotal(1:nedge) = 0
155 i=perm(nedge - ii + 1)
165 xl = (x(1,ledge(5,i))-x(1,ledge(6,i)))**2+(x(2,ledge(5,i))-x(2,ledge(6,i)))**2+(x(3,ledge(5,i))-x(3,ledge(6,i)))**2
169 gap = gap_maxneigh(i)+two*gap_e(i)
171 gap = two*(gap_maxneigh(i)+gap_e(i))
173 IF(igap==3) gap =
min(gap,gap_e_l(i)+bgapemx_l)
175 dmax = sqrt(two) *
max(gap+dgapload,drad2)
177 tagnod(ledge(5,lin)) = 1
178 dist1(ledge(5,lin)) = zero
180 tagnod(ledge(6,lin)) = 1
181 dist1(ledge(6,lin)) = zero
190 tagnod(ledge(5,lin)) = 2
191 tagnod(ledge(6,lin)) = 2
194 IF ((dist1(ledge(5,lin)) > dmax).AND.(dist1(ledge(6,lin)) > dmax).AND.(level>2))
THEN
195 pene = i11pene_lin(x,ledge(5,lin),ledge(6,lin),ledge(5,i),ledge(6,i),dmax)
198 IF ((level <= 2).OR.(dist1(ledge(5,lin)) <= dmax).OR.(dist1(ledge(6,lin)) <= dmax).OR.(pene > zero))
THEN
200 DO k=inod2lin(ledge(j,lin)),inod2lin(ledge(j,lin)+1)-1
202 IF( (itag(lin1) == 0 .OR. itag(lin1) == level))
THEN
203 IF(itag(lin1) == 0)
THEN
210 IF ((tagsecnd(ledge(l,lin1))== 1).AND.(origin(ledge(l,lin1)) /= ledge(j,lin))
211 . .AND.((ledge(l,lin1)) /= ledge(j,lin)).AND.(tagnod(ledge(l,lin1)) /= 2))
THEN
213 new_dist=dist1(ledge(j,lin))+
214 . sqrt((x(1,ledge(l,lin1))-x(1,ledge(j,lin)))**2 +
215 . (x(2,ledge(l,lin1)) - x(2,ledge(j,lin)))**2 +
216 . (x(3,ledge(l,lin1)) - x(3,ledge(j,lin)))**2 )
218 IF (new_dist < dist1(ledge(l,lin1)))
THEN
222 IF(tagnod(ledge(l,lin1))==0)
THEN
223 tagnod(ledge(l,lin1)) = 1
233 tagnod(ledge(5:6,lin))=1
238 nblin_max =
max(nblin_max,nblin)
241 listlin(j)=listlintmp(j)
245 cpt_total = cpt_total + cpt
255 IF (kremnode(ii)+cpt_total > nremnode)
THEN
266 lin = listlintotal(l)
267 IF ((im1 /= ledge(5,lin)).AND.(im1 /= ledge(6,lin))
268 . .AND.(im2 /= ledge(5,lin)).AND.(im2 /= ledge(6,lin)))
THEN
271 gapv = gap_e(lin)+two*gap_e(i)
273 gapv = two*(gap_e(lin)+gap_e(i))
275 IF(igap==3) gapv =
min(gapv,gap_e_l(lin)+gap_e_l(i))
277 gapv = sqrt(two)*
max(drad2,gapv+dgapload)
278 IF ((dist1(ledge(5,lin)) <= gapv).OR.(dist1(ledge(6,lin)) <= gapv))
THEN
279 remnode(kremnode(ii)+cpt1) = lin
281 gap_maxneigh(lin) =
max(gap_maxneigh(lin),gap_e(i))
283 pene = i11pene_lin(x,ledge(5,lin),ledge(6,lin),ledge(5,i),ledge
285 remnode(kremnode(ii)+cpt1) = lin
287 gap_maxneigh(lin) =
max(gap_maxneigh(lin),gap_e(i))
292 kremnode(ii+1) = kremnode(ii) + cpt1
299 dist1(ledge(5,i)) = ep30
300 dist1(ledge(6,i)) = ep30
301 origin(ledge(5,i)) = 0
302 origin(ledge(6,i)) = 0
303 tagnod(ledge(5,i)) = 0
304 tagnod(ledge(6,i)) = 0
308 lin = listlintotal(l)
311 tagnod(ledge(5,lin)) = 0
312 tagnod(ledge(6,lin)) = 0
313 dist1(ledge(5,lin)) = ep30
314 dist1(ledge(6,lin)) = ep30
315 origin(ledge(5,lin)) = 0
316 origin(ledge(6,lin)) = 0
318 listlintmp(1:nblin_max)=0
319 listlin(1:nblin_max)=0
324 IF (i_mem_rem == 0)
THEN
326 ALLOCATE(tag_sym(2,nedge))
327 tag_sym(1:2,1:nedge) = 0
331 cpt1 = kremnode(ii+1) - kremnode(ii)
333 jj = remnode(kremnode(ii)+l-1)
334 lin = perm_inv(remnode(kremnode(ii)+l-1))
335 cpt2 = kremnode(lin+1) - kremnode(lin)
338 j = remnode(kremnode(lin)+ll-1)
342 tot_sym = tot_sym + 1
343 tag_sym(2,jj) = tag_sym(2,jj) + 1
349 IF (kremnode(nedge+1)+tot_sym > nremnode)
THEN
357 IF (i_mem_rem == 0)
THEN
359 ALLOCATE(rem_tmp(nremnode),krem_tmp(nedge+1))
360 rem_tmp(1:nremnode) = remnode(1:nremnode)
361 krem_tmp(1:nedge+1) = kremnode(1:nedge+1)
366 cpt1 = krem_tmp(ii+1) - krem_tmp(ii)
367 kremnode(i+1) = kremnode(i) + cpt1 + tag_sym(2,i)
373 cpt1 = krem_tmp(ii+1) - krem_tmp(ii)
375 lin = rem_tmp(krem_tmp(ii)+l-1)
376 remnode(kremnode(i)+l-1) = lin
380 IF (tot_sym > 0)
THEN
381 tag_sym(2,1:nedge) = 0
384 IF (tag_sym(1,i) > 0)
THEN
386 cpt1 = krem_tmp(ii+1) - krem_tmp(ii)
388 lin = remnode(kremnode(i)+l-1)
390 cpt2 = krem_tmp(jj+1) - krem_tmp(jj)
393 IF (i==remnode(kremnode(lin)+ll-1)) found = 1
396 tag_sym(2,lin) = tag_sym(2,lin) + 1
397 remnode(kremnode(lin)+cpt2 + tag_sym(2,lin)-1) = i
404 DEALLOCATE(rem_tmp,krem_tmp,tag_sym)
410 DEALLOCATE(dist1,tagnod,origin)
411 IF(
ALLOCATED(itag))
DEALLOCATE(itag)
412 IF(
ALLOCATED(listlintotal))
DEALLOCATE(listlintotal)
413 IF(
ALLOCATED(listlin))
DEALLOCATE(listlin)
414 IF(
ALLOCATED(listlintmp))
DEALLOCATE(listlintmp)
433 . POINTS_I2N ,I2NODE_SIZE, NOM_OPT ,ITAB,FLAG_OUTPUT)
445#include "implicit_f.inc"
449#include "param_c.inc"
453 INTEGER ,
INTENT(IN) :: N , FLAGREMNODE, I2NODE_SIZE
454 INTEGER ,
INTENT(INOUT) :: IPARI(NPARI,NINTER)
455 INTEGER ,
INTENT(IN) :: I2NODE(I2NODE_SIZE,3),POINTS_I2N(NUMNOD,2)
456 INTEGER ,
INTENT(IN) :: NOM_OPT(LNOPT1,NINTER),ITAB(NUMNOD)
457 INTEGER,
INTENT(in) :: FLAG_OUTPUT
459 TYPE(intbuf_struct_) ,
INTENT(INOUT) :: INTBUF_TAB(NINTER)
463#include "com04_c.inc"
464#include "scr17_c.inc"
468 INTEGER II,J,K,IE,NN, NM,N2,ND,NES,NM2,M,
469 . NN2,NNOD,NNREM_EDG,KI,KL,JJ,IEDG,IEDGS,ES,
470 . COMPTEUR,I,L,L1,IS,IIS,NS,IADA,III,JJJ,NNOD_2,
471 . FIRST,LAST,NNREM_EDG_SAVE,
472 . OFFSET, NBR_INTRA,NBR_EXTRA,TOTAL_INSERTED,
474 . nremov_edg,nedge,max_inserted_i2,nd_tag,
475 . sol_edge,sh_edge,iedge,nrtm
476 INTEGER(8) :: SIZE_INSERTED_EDG,MAX_INSERTED_EDG,DIFF_INT8
477 INTEGER,
DIMENSION(:),
ALLOCATABLE :: TAGD_EDG
479 CHARACTER(LEN=NCHARTITLE) :: TITR
480 INTEGER,
DIMENSION(:),
ALLOCATABLE :: NBR_INSERT_II,ADRESS_II
481 INTEGER,
DIMENSION(:),
ALLOCATABLE :: KREMNODE_EDG_SAVE,INSERTED_EDG,REMNODE_EDG,TMP_EDG
482 INTEGER,
DIMENSION(:),
ALLOCATABLE :: INOD2LIN,NOD2LIN,KNOD2LIN
483 INTEGER,
DIMENSION(:),
ALLOCATABLE :: TAG_ND,IDX_ND,TAG_NDE
505 CALL fretitl2(titr,nom_opt(lnopt1-ltitr+1,n),ltitr)
511 ALLOCATE(inod2lin(numnod+1),nod2lin(2*nedge))
512 ALLOCATE(knod2lin(numnod+1))
514 nod2lin(1:2*nedge) = 0
515 knod2lin(1:numnod+1) = 0
516 inod2lin(1:numnod+1) = 0
522 nn = intbuf_tab(n)%LEDGE(5+(i-1)*nledge)
523 knod2lin(nn) = knod2lin(nn) + 1
524 nn = intbuf_tab(n)%LEDGE(6+(i-1)*nledge)
525 knod2lin(nn) = knod2lin(nn) + 1
530 inod2lin(i+1) = inod2lin(i) + knod2lin(i)
532 knod2lin(1:numnod+1) = inod2lin(1:numnod+1)
535 nn = intbuf_tab(n)%LEDGE(5+(i-1)*nledge)
536 nod2lin(knod2lin(nn)) = i
537 knod2lin(nn) = knod2lin(nn) + 1
538 nn = intbuf_tab(n)%LEDGE(6+(i-1)*nledge)
539 nod2lin(knod2lin(nn)) = i
540 knod2lin(nn) = knod2lin(nn) + 1
543 ALLOCATE(tagd_edg(nedge))
546 sh_edge =iedge-10*sol_edge
552 IF(sol_edge > 0 .AND. ipari(63,n) == 2)
THEN
556 diff_int8 = inod2lin(i+1)-inod2lin(i)
557 max_inserted_edg =
max(max_inserted_edg,diff_int8)
560 ALLOCATE( nbr_insert_ii(nrtm) )
561 ALLOCATE( kremnode_edg_save(nrtm+1) )
562 size_inserted_edg = max_inserted_edg*ipari(62,n)
563 CALL my_alloc(inserted_edg,size_inserted_edg)
565 kremnode_edg_save(1:nrtm+1) = 0
566 nbr_insert_ii(1:nrtm) = 0
570 k = intbuf_tab(n)%KREMNODE(ii)+1
571 l = intbuf_tab(n)%KREMNODE(ii+1)
573 nn = intbuf_tab(n)%REMNODE(m)
574 IF ((inod2lin(nn+1)-inod2lin(nn))/=0)
THEN
575 DO ie=inod2lin(nn),inod2lin(nn+1)-1
577 IF (tagd_edg(iedgs)==0)
THEN
578 nnrem_edg = nnrem_edg + 1
581 inserted_edg(jjj) = iedgs
582 nbr_insert_ii(ii) = nbr_insert_ii(ii) +1
587 kremnode_edg_save(ii+1) = kremnode_edg_save(ii)+nbr_insert_ii(ii)
589 nn = intbuf_tab(n)%REMNODE(m)
590 IF ((inod2lin(nn+1)-inod2lin(nn))/=0)
THEN
591 DO ie=inod2lin(nn),inod2lin(nn+1)-1
593 IF (tagd_edg(iedgs)==1) tagd_edg(iedgs)=0
601 intbuf_tab(n)%REMNODE_E2S(1:nnrem_edg) = inserted_edg(1:nnrem_edg)
602 intbuf_tab(n)%KREMNODE_E2S(1:nrtm+1) = kremnode_edg_save(1:nrtm+1)
603 intbuf_tab(n)%KREMNODE_E2S(1)=0
605 intbuf_tab(n)%KREMNODE_E2S(ii) =intbuf_tab(n
608 DEALLOCATE(nbr_insert_ii,kremnode_edg_save,inserted_edg)
611 IF(flag_output>0)
THEN
614 . msgtype=msgwarning,
615 . anmode=aninfo_blind_1,
630 ALLOCATE(tag_nd(numnod))
631 ALLOCATE(idx_nd(numnod))
632 ALLOCATE(tag_nde(numnod))
634 ALLOCATE( nbr_insert_ii(nedge) )
635 ALLOCATE( adress_ii(nedge) )
636 ALLOCATE( kremnode_edg_save(nedge+1) )
637 nbr_insert_ii(1:nedge) = 0
638 adress_ii(1:nedge) = 0
639 kremnode_edg_save(1:nedge+1) = 0
648 tag_nde(1:numnod) = 0
649 nremov_edg = ipari(94,n)
651 IF(nremov_edg>0) kremnode_edg_save(1:nedge+1) = intbuf_tab(n)%KREMNODE_EDG(1:nedge+1)
653 size_inserted_edg = 1
658 nm = intbuf_tab(n)%LEDGE(j+(ii-1)*nledge)
659 IF (points_i2n(nm,1)/=0)
THEN
660 max_inserted_i2 =
max( max_inserted_i2,points_i2n(nm,2)-points_i2n(nm,1) )
661 DO i=points_i2n(nm,1),points_i2n(nm,2)
662 max_inserted_edg =
max( max_inserted_edg,(inod2lin(nm+1)-inod2lin(nm)) )
670 limit = huge(nedge) / 8
671 IF( nedge > limit )
THEN
672 size_inserted_edg = huge(nedge)
673 ELSE IF ( max_inserted_edg > limit / (nedge))
THEN
674 size_inserted_edg = huge(nedge)
675 ELSE IF (max_inserted_i2 > limit / (nedge*max_inserted_edg))
THEN
676 size_inserted_edg = huge(nedge)
678 size_inserted_edg = 8 * nedge *max_inserted_edg *max_inserted_i2
681 CALL my_alloc(inserted_edg,size_inserted_edg)
684 nnrem_edg_save = nnrem_edg
687 IF(flagremnode==2)
THEN
688 ki = intbuf_tab(n)%KREMNODE_EDG(ii)
689 kl = intbuf_tab(n)%KREMNODE_EDG(ii+1) -1
691 es = intbuf_tab(n)%REMNODE_EDG(j)
697 IF(jjj + max_inserted_edg*max_inserted_i2 > size_inserted_edg)
THEN
699 oldsize = size_inserted_edg
700 size_inserted_edg = size_inserted_edg +
max(nedge,max_inserted_edg*max_inserted_i2)
701 CALL my_alloc(tmp_edg,size_inserted_edg)
702 tmp_edg(1:oldsize) = inserted_edg(1:oldsize)
703! move_alloc deallocates tmp
704 CALL move_alloc(tmp_edg,inserted_edg)
709 nm = intbuf_tab(n)%LEDGE(j+(ii-1)*nledge)
725 IF (points_i2n(nm,1)/=0)
THEN
726 DO i=points_i2n(nm,1),points_i2n(nm,2)
730 ns = intbuf_tab(n2)%NSV(is)
731 IF (((inod2lin(ns+1)-inod2lin(ns))/=0).AND.(tag_nde(ns)==0))
THEN
733 DO ie=inod2lin(ns),inod2lin(ns+1)-1
735 IF (tagd_edg(iedgs)==0)
THEN
736 nnrem_edg = nnrem_edg + 1
739 inserted_edg(jjj) = iedgs
740 nes = intbuf_tab(n)%LEDGE(5+(iedgs-1)*nledge)
741 tag_nd(nes) = tag_nd(nes) +1
744 nes = intbuf_tab(n)%LEDGE(6+(iedgs-1)*nledge)
745 tag_nd(nes) = tag_nd(nes) +1
753 l = intbuf_tab(n2)%IRTLM(iis)
756 IF( intbuf_tab(n2)%IRECTM(4*(l-1)+4)==intbuf_tab(n2)%IRECTM(4*(l-1)+3) ) nnod_2 =
758 nm2 = intbuf_tab(n2)%IRECTM(4*(l-1)+iii)
759 IF (((inod2lin(nm2+1)-inod2lin(nm2))/=0).AND.(tag_nde(nm2)==0))
THEN
761 DO ie=inod2lin(nm2),inod2lin(nm2+1)-1
763 IF (tagd_edg(iedgs)==0)
THEN
764 nnrem_edg = nnrem_edg + 1
767 inserted_edg(jjj) = iedgs
768 nes = intbuf_tab(n)%LEDGE(5+(iedgs-1)*nledge)
769 tag_nd(nes) = tag_nd(nes) +1
772 nes = intbuf_tab(n)%LEDGE(6+(iedgs-1)*nledge)
773 tag_nd(nes) = tag_nd(nes) +1
791 IF(tag_nd(nes) ==1)
THEN
792 IF ((inod2lin(nes+1)-inod2lin(nes))/=0)
THEN
793 DO ie=inod2lin(nes),inod2lin(nes+1)-1
796 nm =intbuf_tab(n)%LEDGE(j+(iedgs-1)*nledge)
798 IF(tag_nd(nm)==1.AND.tagd_edg(iedgs) ==0)
THEN
799 nnrem_edg = nnrem_edg + 1
802 inserted_edg(jjj) = iedgs
813 nbr_insert_ii(ii) = nnrem_edg - nnrem_edg_save
814 kremnode_edg_save(ii) = kremnode_edg_save(ii+1) - kremnode_edg_save(ii)
815 iada = iada + kremnode_edg_save(ii)
818 kremnode_edg_save(ii) = iada + nbr_insert_ii(ii) - 1
819 iada = iada + nbr_insert_ii(ii)
826 IF(tag_nd(nes) ==1)
THEN
827 IF ((inod2lin(nes+1)-inod2lin(nes))/=0)
THEN
828 DO ie=inod2lin(nes),inod2lin(nes+1)-1
831 nm =intbuf_tab(n)%LEDGE(j+(iedgs-1)*nledge)
832 IF(tagd_edg(iedgs) ==1) tagd_edg(iedgs)=0
839 nm = intbuf_tab(n)%LEDGE(j+(ii-1)*nledge)
840 IF (points_i2n(nm,1)/=0)
THEN
841 DO i=points_i2n(nm,1),points_i2n(nm,2)
845 ns = intbuf_tab(n2)%NSV(is)
846 IF (((inod2lin(ns+1)-inod2lin(ns))/=0).AND.(tag_nde(ns)==1))
THEN
848 DO ie=inod2lin(ns),inod2lin(ns+1)-1
850 IF (tagd_edg(iedgs)==1)
THEN
852 nes = intbuf_tab(n)%LEDGE(5+(iedgs-1)*nledge)
861 l = intbuf_tab(n2)%IRTLM(iis)
863 IF( intbuf_tab(n2)%IRECTM(4*(l-1)+4)==intbuf_tab(n2)%IRECTM(4*(l-1)+3) ) nnod_2 = 3
865 nm2 = intbuf_tab(n2)%IRECTM(4*(l-1)+iii)
866 IF ((inod2lin(nm2+1)-inod2lin(nm2))/=0.AND.(tag_nde(nm2)==1))
THEN
868 DO ie=inod2lin(nm2),inod2lin(nm2+1)-1
870 IF (tagd_edg(iedgs)==1)
THEN
872 nes = intbuf_tab(n)%LEDGE(5+(iedgs-1)*nledge)
874 nes = intbuf_tab(n)%LEDGE(6+(iedgs-1)*nledge)
885 IF(flagremnode==2)
THEN
887 iedgs = intbuf_tab(n)%REMNODE_EDG(ie)
901 IF( nbr_insert_ii(ii)/=0 ) first = ii
904 IF( nbr_insert_ii(nedge+1-ii)/=0 ) last = nedge+1-ii
910 total_inserted = total_inserted + nbr_insert_ii(ii)
913 ALLOCATE( remnode_edg(nremov_edg+total_inserted) )
921 IF( adress_ii(first)>1 )
THEN
922 remnode_edg(1:adress_ii(first)-1) = intbuf_tab(n)%REMNODE_EDG(1:adress_ii(first)-1)
923 offset = offset + adress_ii(first)-1
924 i = i + adress_ii(first)-1
929 IF( nbr_insert_ii(ii)>0 )
THEN
930 DO jj = 1,nbr_insert_ii(ii)
932 remnode_edg(offset+nbr_insert_ii(ii)+1-jj) = inserted_edg(j)
934 offset = offset + nbr_insert_ii(ii)
936 IF(ii<last.AND.nremov_edg>0)
THEN
938 nbr_intra = adress_ii(ii+1) - adress_ii(ii)-nbr_insert_ii(ii)
939 IF( nbr_intra>0 )
THEN
942 remnode_edg(jj+offset) = intbuf_tab(n)%REMNODE_EDG(i)
944 offset = offset + nbr_intra
951 IF( i<nremov_edg )
THEN
952 nbr_extra = nremov_edg - i
953 remnode_edg(offset+1:offset+nbr_extra) = intbuf_tab(n)%REMNODE_EDG(i+1:nremov_edg)
956 nnrem_edg = nnrem_edg + nremov_edg
958 intbuf_tab(n)%REMNODE_EDG(1:nnrem_edg) = remnode_edg(1:nnrem_edg)
959 intbuf_tab(n)%KREMNODE_EDG(2:nedge+1) = kremnode_edg_save(1:nedge)
960 intbuf_tab(n)%KREMNODE_EDG(1)=0
962 intbuf_tab(n)%KREMNODE_EDG(ii) =intbuf_tab(n)%KREMNODE_EDG(ii)+1
965 IF(flag_output>0)
THEN
968 . msgtype=msgwarning,
969 . anmode=aninfo_blind_1,
976 nremov_edg = nnrem_edg
978 IF(
ALLOCATED(remnode_edg))
DEALLOCATE( remnode_edg )
979 IF(
ALLOCATED(inserted_edg))
DEALLOCATE( inserted_edg )
983 DEALLOCATE( nbr_insert_ii )
984 DEALLOCATE( adress_ii )
985 DEALLOCATE( kremnode_edg_save )
987 DEALLOCATE(tagd_edg,tag_nd,idx_nd,tag_nde)
991 DEALLOCATE(inod2lin,nod2lin)