34 SUBROUTINE i25tagn (NI25 ,NIN ,NRTM ,NSN ,NSNR ,
35 2 JTASK ,IAD_FRNOR ,FR_NOR ,IRTLM ,MSEGTYP ,
36 3 I_STOK_GLO,I_STOK_RTLM,CAND_OPT_E,STFNS ,ACTNOR ,IRECT ,
37 4 TAGNOD ,IAD_ELEM,FR_ELEM ,ADMSR ,KNOR2MSR ,
38 5 NOR2MSR ,FLAGREMN,KREMNOR ,REMNOR ,IEDGE ,
39 6 NEDGE,LEDGE,NRTM_FREE,FREE_IRECT_ID,I_STOK_E2S ,
40 7 CANDM_E2S ,CANDS_E2S ,MVOISIN ,E2S_ACTNOR,NADMSR ,STFM,
41 8 NUMBER_EDGE_TYPE1,NUMBER_EDGE_TYPE1_0,EDGE_TYPE1,EDGE_TYPE1_0 )
50#include "implicit_f.inc"
54#include "i25edge_c.inc"
66 INTEGER NI25, NIN, NRTM, NSN, NSNR, JTASK, FLAGREMN,NADMSR,
67 . IAD_FRNOR(NINTER25,NSPMD+1) ,FR_NOR(*),
68 . IRTLM(4,*), MSEGTYP(*), I_STOK_GLO, I_STOK_RTLM, CAND_OPT_E(*),
69 . ACTNOR(*), IRECT(4,*), TAGNOD(*), E2S_ACTNOR(*),
70 . IAD_ELEM(2,*), FR_ELEM(*), KNOR2MSR(*), NOR2MSR(*), ADMSR(4,*),
71 . KREMNOR(*), REMNOR(*), I_STOK_E2S, CANDM_E2S(*), CANDS_E2S(*), MVOISIN(4,*)
72 INTEGER,
INTENT(IN) :: IEDGE,NEDGE
73 INTEGER :: LEDGE(NLEDGE,NEDGE)
74 INTEGER :: FREE_IRECT_ID(NRTM),NRTM_FREE
75 INTEGER,
INTENT(in) :: NUMBER_EDGE_TYPE1
76 INTEGER,
INTENT(in) :: NUMBER_EDGE_TYPE1_0
77 INTEGER,
DIMENSION(NUMBER_EDGE_TYPE1),
INTENT(in) :: EDGE_TYPE1
78 INTEGER,
DIMENSION(NUMBER_EDGE_TYPE1_0),
INTENT(in) :: EDGE_TYPE1_0
82 my_real,
INTENT(IN):: stfm(nrtm)
87 INTEGER I ,J , K, N, NOR, NOD, L, ISH, FIRST, , NL, LVOIS, NORV
88 INTEGER NRTMFT, NRTMLT, NSNF, NSNL, NSNRF, NSNRL, NODFT, NODLT,
89 . i1, i2, i3, i4, m, nor1, nor2, nadmsrft, nadmsrlt,
90 . nrtmft_free, nrtmlt_free, nedgft, nedglt, sol_edge, sh_edge
91 INTEGER IRM,JRM,IEDG,JEDG
92 INTEGER,
DIMENSION(:),
ALLOCATABLE ::
95 nodft= 1+(jtask-1)*numnod/ nthread
96 nodlt= jtask*numnod/nthread
99 nrtmft= 1+(jtask-1)*nrtm/ nthread
100 nrtmlt= jtask*nrtm/nthread
101 actnor(nrtmft:nrtmlt)=0
106 nadmsrft= 1+(jtask-1)*nadmsr/ nthread
107 nadmsrlt= jtask*nadmsr/nthread
108 e2s_actnor(nadmsrft:nadmsrlt)=0
114 nsnf = 1 + nsn*(jtask-1) / nthread
115 nsnl = nsn*jtask / nthread
117 IF(flagremn == 2 )
THEN
119 ALLOCATE(tagmsr(nrtm))
126 tagmsr(remnor(m)) = 1
129 IF(irtlm(1,n) > 0)
THEN
130 IF(stfns(n)/=zero.AND.irtlm(4,n) == ispmd+1)
THEN
139 DO nl=knor2msr(nor)+1,knor2msr(nor+1)
141 IF(tagmsr(lvois)==0.AND.stfm(lvois) > zero)
THEN
154 tagmsr(remnor(m)) = 0
159 IF(irtlm(1,n) > 0)
THEN
160 IF(stfns(n)/=zero.AND.irtlm(4,n) == ispmd+1)
THEN
167 DO nl=knor2msr(nor)+1,knor2msr(nor+1)
169 IF(stfm(lvois) > zero)
THEN
184 nsnrf = 1 + nsnr*(jtask-1) / nthread
185 nsnrl = nsnr*jtask / nthread
187 IF(flagremn == 2 )
THEN
196 IF(
stifi(nin)%P(n)/=zero.AND.
irtlm_fi(nin)%P(4,n) == ispmd+1)
THEN
205 DO nl=knor2msr(nor)+1,knor2msr(nor+1)
207 IF(tagmsr(lvois)==0.AND.stfm(lvois) > zero)
THEN
229 IF(
stifi(nin)%P(n)/=zero.AND.
irtlm_fi(nin)%P(4,n) == ispmd+1)
THEN
238 DO nl=knor2msr(nor)+1,knor2msr(nor+1)
240 IF(stfm(lvois) > zero)
THEN
259 first = i_stok_rtlm + 1 + (i_stok_glo-i_stok_rtlm)*(jtask-1) / nthread
260 last = i_stok_rtlm + (i_stok_glo-i_stok_rtlm)*jtask
265 tagnod(irect(1,irm)) = 1
266 tagnod(irect(2,irm)) = 1
267 tagnod(irect(3,irm)) = 1
268 tagnod(irect(4,irm)) = 1
272 IF(ish > nrtm)ish=ish-nrtm
278 nrtmft_free= 1+(jtask-1)*nrtm_free/nthread
279 nrtmlt_free= jtask*nrtm_free/nthread
280 DO i=nrtmft_free,nrtmlt_free
281 irm = free_irect_id(i)
283 ish=iabs(msegtyp(irm))
285 IF(ish > nrtm)ish=ish-nrtm
289 IF(mvoisin(iedg,irm)==0)
THEN
290 IF(.NOT.(irect(3,irm)==irect(4,irm).AND.iedg==3))
THEN
291 tagnod(irect(iedg ,irm)) = 1
292 tagnod(irect(mod(iedg,4)+1,irm)) = 1
301 sh_edge =iedge-10*sol_edge
306 first = 1 + i_stok_e2s*(jtask-1) / nthread
307 last = i_stok_e2s*jtask / nthread
309 IF(cands_e2s(i) < 0)
THEN
312 tagnod(irect(1,irm)) = 1
313 tagnod(irect(2,irm)) = 1
314 tagnod(irect(3,irm)) = 1
315 tagnod(irect(4,irm)) = 1
320 nedgft = 1 + (jtask-1)*number_edge_type1_0 / nthread
321 nedglt = jtask*number_edge_type1_0 / nthread
322 IF(jtask==nthread) nedglt =number_edge_type1_0
323#include "vectorize.inc"
327 IF(sh_edge==1 .AND. ledge(ledge_type,i) /= 1 .AND. ledge(ledge_right_seg,i) /= 0) cycle
330 irm =ledge(ledge_left_seg ,i)
331 iedg=ledge(ledge_left_id ,i)
332 jrm =ledge(ledge_right_seg,i)
333 jedg=ledge(ledge_right_id ,i)
336 tagnod(irect(1,irm)) = 1
337 tagnod(irect(2,irm)) = 1
338 tagnod(irect(3,irm)) = 1
339 tagnod(irect(4,irm)) = 1
343 tagnod(irect(1,jrm)) = 1
344 tagnod(irect(2,jrm)) = 1
345 tagnod(irect(3,jrm)) = 1
346 tagnod(irect(4,jrm)) = 1
359 first = 1 + i_stok_e2s*(jtask-1) / nthread
360 last = i_stok_e2s*jtask / nthread
362 IF(cands_e2s(i) < 0)
THEN
365 IF(tagnod(irect(1,irm))==1)e2s_actnor(admsr(1,irm)) = 1
366 IF(tagnod(irect(2,irm))==1)e2s_actnor(admsr(2,irm)) = 1
367 IF(tagnod(irect(3,irm))==1)e2s_actnor(admsr(3,irm)) = 1
368 IF(tagnod(irect(4,irm))==1)e2s_actnor(admsr(4,irm)) = 1
373 nedgft = 1 + (jtask-1)*number_edge_type1 / nthread
374 nedglt = jtask*number_edge_type1 / nthread
375 IF(jtask==nthread) nedglt =number_edge_type1
376#include "vectorize.inc"
380 irm =ledge(ledge_left_seg ,i)
381 iedg=ledge(ledge_left_id ,i)
382 jrm =ledge(ledge_right_seg,i)
383 jedg=ledge(ledge_right_id ,i)
385 IF(tagnod(irect(1,irm))==1)e2s_actnor(admsr(iedg,irm)) = 1
386 IF(tagnod(irect(mod(iedg,4)+1,irm))==1)e2s_actnor(admsr(mod(iedg,4)+1,irm)) = 1
396 IF(nspmd > 1 .AND. jtask == 1)
THEN
397 DO i=iad_elem(1,1),iad_elem(1,nspmd+1)-1
399 tagnod(nod)=2 + tagnod(nod)
403 IF(tagnod(irect(j,i))>=2)
THEN
404 IF(actnor(i) == 0)
THEN
406 ELSEIF(actnor(i) == 1)
THEN
422 IF(flagremn == 2)
DEALLOCATE(tagmsr)
438 . NOD_NORMAL,NMN ,MSR ,JTASK ,STIFM, STFE,
439 . ACTNOR ,MSEGTYP ,TAGNOD ,MVOISIN ,EVOISIN ,
440 . IAD_FREDG,FR_EDG ,WNOD_NORMAL,BUFFERS,IEDGE ,
441 . NEDGE ,LEDGE ,LBOUND ,NADMSR ,ADMSR ,
442 . IAD_FRNOR,FR_NOR,VTX_BISECTOR,FLAG,
443 . NB_FREE_BOUND,FREE_BOUND,TAGE,FREE_IRECT_ID,NRTM_FREE,
444 . FSKYT,IADNOR,ISHIFT,ADDCSRECT,PROCNOR,SOL_EDGE,
456#include "implicit_f.inc"
460#include "mvsiz_p.inc"
464#include "com01_c.inc"
465#include "com04_c.inc"
466#include "param_c.inc"
471 INTEGER NI25, NRTM, , NMN, JTASK, IEDGE, NEDGE, FLAG, NADMSR,ISHIFT,SOL_EDGE,
472 . IRECT(4,NRTM), MSR(*),
473 . ACTNOR(*), MSEGTYP(*), TAGNOD(*),
474 . MVOISIN(4,*), EVOISIN(4,*), IAD_FREDG(NINTER25,*), FR_EDG(*),
475 . LEDGE(NLEDGE,*), LBOUND(*), ADMSR(4,*), IAD_FRNOR(NINTER25,*), FR_NOR(*),
476 . IADNOR(4,*),ADDCSRECT(*), PROCNOR(*)
477 INTEGER :: FREE_IRECT_ID(NRTM),NRTM_FREE
480 . X(3,NUMNOD), STIFM(*),STFE(NEDGE)
481 REAL*4 NOD_NORMAL(3,4,NRTM), WNOD_NORMAL(3,4,NRTM), VTX_BISECTOR(3,2,NADMSR)
482 REAL*4 FSKYT(3,*),FSKYN25(3,*)
483 INTEGER :: NB_FREE_BOUND,FREE_BOUND(4,4*NRTM)
490 INTEGER I ,J , N, LLT, NM, IRM, N1, N2, N3, N4, IAD, LENR, LENS, CC, ISH
491 INTEGER IX1, IX2, IX3, IX4,
492 . i1, i2, i3, i4, jrm, jedg, iedg, nedg, is1,is2
493 INTEGER NRTMFT, NRTMLT, NEDGFT, NEDGLT, NADMSRFT, NADMSRLT
501 . x01, x02, x03, x04,
502 . y01, y02, y03, y04,
503 . z01, z02, z03, z04,
504 . xn1(mvsiz),yn1(mvsiz),zn1(mvsiz),
505 . xn2(mvsiz),yn2(mvsiz),zn2(mvsiz),
506 . xn3(mvsiz),yn3(mvsiz),zn3(mvsiz),
507 . xn4(mvsiz),yn4(mvsiz),zn4(mvsiz),
508 . xs(mvsiz), ys(mvsiz), zs(mvsiz),
510 . vx, vy, vz, x12, y12, z12
511 real*4 :: x0s,y0s,z0s,x01s,y01s,z01s,x02s,y02s,z02s
512 LOGICAL :: LIMIT_CASE,IS_QUAD(MVSIZ)
530 INTEGER IE,JE,I1E,I2E
541 nrtmft= 1+(jtask-1)*nrtm0/ nthread
542 nrtmlt= jtask*nrtm0/nthread
544 DO n=nrtmft,nrtmlt,mvsiz
546 llt=
min(nrtmlt-n+1,mvsiz)
550#include "vectorize.inc"
567 IF(tagnod(ix1)==0.AND.
568 . tagnod(ix2)==0.AND.
569 . tagnod(ix3)==0.AND.
570 . tagnod(ix4)==0)
THEN
576 IF(stifm(irm) > zero)
THEN
592 x0 = (x1+x2+x3+x4)/4.0
593 y0 = (y1+y2+y3+y4)/4.0
594 z0 = (z1+z2+z3+z4)/4.0
614 xn1(i) = y01*z02 - z01*y02
615 yn1(i) = z01*x02 - x01*z02
616 zn1(i) = x01*y02 - y01*x02
617 xn2(i) = y02*z03 - z02*y03
618 yn2(i) = z02*x03 - x02*z03
619 zn2(i) = x02*y03 - y02*x03
620 xn3(i) = y03*z04 - z03*y04
621 yn3(i) = z03*x04 - x03*z04
622 zn3(i) = x03*y04 - y03*x04
623 xn4(i) = y04*z01 - z04*y01
624 yn4(i) = z04*x01 - x04*z01
625 zn4(i) = x04*y01 - y04*x01
628 aaa=run/
max(rem30,sqrt(xn1(i)*xn1(i)+yn1(i)*yn1(i)+zn1(i)*zn1(i)))
633 aaa=run/
max(rem30,sqrt(xn2(i)*xn2(i)+yn2(i)*yn2(i)+zn2(i)*zn2(i)))
638 aaa=run/
max(rem30,sqrt(xn3(i)*xn3(i)+yn3(i)*yn3(i)+zn3(i)*zn3(i)))
643 aaa=run/
max(rem30,sqrt(xn4(i)*xn4(i)+yn4(i)*yn4(i)+zn4(i)*zn4(i)))
667#include "vectorize.inc"
671 IF(tage(irm)==1) cycle
676 nod_normal(1,1,irm)=xn1(i)
677 nod_normal(2,1,irm)=yn1(i)
678 nod_normal(3,1,irm)=zn1(i)
680 nod_normal(1,2,irm)=xn2(i)
681 nod_normal(2,2,irm)=yn2(i)
682 nod_normal(3,2,irm)=zn2(i)
684 nod_normal(1,3,irm)=xn3(i)
685 nod_normal(2,3,irm)=yn3(i)
686 nod_normal(3,3,irm)=zn3(i)
688 nod_normal(1,4,irm)=xn4(i)
689 nod_normal(2,4,irm)=yn4(i)
690 nod_normal(3,4,irm)=zn4(i)
694 nod_normal(1,1,irm)=xn1(i)
696 nod_normal(3,1,irm)=zn1(i)
698 nod_normal(1,2,irm)=xn1(i)
699 nod_normal(2,2,irm)=yn1(i)
700 nod_normal(3,2,irm)=zn1(i)
702 nod_normal(1,4,irm)=xn1(i)
703 nod_normal(2,4,irm)=yn1(i)
704 nod_normal(3,4,irm)=zn1(i)
709#include "vectorize.inc"
714 IF(tage(irm)==1) cycle
718 IF(ish > nrtm)ish=ish-nrtm
722 nod_normal(1,1,ish)=-xn1(i)
723 nod_normal(2,1,ish)=-yn1(i)
724 nod_normal(3,1,ish)=-zn1(i)
726 nod_normal(1,4,ish)=-xn2(i)
727 nod_normal(2,4,ish)=-yn2(i)
728 nod_normal(3,4,ish)=-zn2(i)
730 nod_normal(1,3,ish)=-xn3(i)
731 nod_normal(2,3,ish)=-yn3(i)
732 nod_normal(3,3,ish)=-zn3(i)
734 nod_normal(1,2,ish)=-xn4(i)
735 nod_normal(2,2,ish)=-yn4(i)
736 nod_normal(3,2,ish)=-zn4(i)
740 nod_normal(1,1,ish)=-xn1(i)
741 nod_normal(2,1,ish)=-yn1(i)
742 nod_normal(3,1,ish)=-zn1(i)
745 nod_normal(2,4,ish)=-yn1(i)
746 nod_normal(3,4,ish)=-zn1(i)
748 nod_normal(1,2,ish)=-xn1(i)
749 nod_normal(2,2,ish)=-yn1(i)
750 nod_normal(3,2,ish)=-zn1(i)
756 IF(sol_edge /= 0)
THEN
762 IF(tage(irm)==1) cycle
771 fskyt(1,iad) = xn4(i)+xn1(i)
772 fskyt(2,iad) = yn4(i)+yn1(i)
773 fskyt(3,iad) = zn4(i)+zn1(i)
776 fskyt(1,iad) = xn1(i)+xn2(i)
777 fskyt(2,iad) = yn1(i)+yn2(i)
778 fskyt(3,iad) = zn1(i)+zn2(i)
781 fskyt(1,iad) = xn2(i)+xn3(i)
782 fskyt(2,iad) = yn2(i)+yn3(i)
783 fskyt(3,iad) = zn2(i)+zn3(i)
786 fskyt(1,iad) = xn3(i)+xn4(i)
787 fskyt(2,iad) = yn3(i)+yn4(i)
788 fskyt(3,iad) = zn3(i)+zn4(i)
791 fskyt(1,iad) = xn1(i)
792 fskyt(2,iad) = yn1(i)
793 fskyt(3,iad) = zn1(i)
796 fskyt(1,iad) = xn1(i)
797 fskyt(2,iad) = yn1(i)
798 fskyt(3,iad) = zn1(i)
801 fskyt(1,iad) = xn1(i)
802 fskyt(2,iad) = yn1(i)
803 fskyt(3,iad) = zn1(i)
813 nrtmft= 1+(jtask-1)*nrtm/ nthread
814 nrtmlt= jtask*nrtm/nthread
816 nadmsrft= 1+(jtask-1)*nadmsr/ nthread
817 nadmsrlt= jtask*nadmsr/nthread
819 lbound(nadmsrft:nadmsrlt)=0
827 irm = free_irect_id(i)
828 IF(stifm(irm) <= zero)cycle
830 IF(mvoisin(iedg,irm)==0)
THEN
831 IF(.NOT.(irect(3,irm)==irect(4,irm).AND.iedg==3))
THEN
832 nb_free_bound = nb_free_bound + 1
833 free_bound(1,nb_free_bound) = irm
834 free_bound(2,nb_free_bound) = iedg
838 is2=admsr(mod(iedg,4)+1,irm)
840 vx=nod_normal(1,iedg,irm)
841 vy=nod_normal(2,iedg,irm)
842 vz=nod_normal(3,iedg,irm)
844 IF(vx == 0 .AND. vy == 0 .AND. vz == 0)
THEN
846 free_bound(3,nb_free_bound) = 3
847 free_bound(4,nb_free_bound) = 3
849 lbound(is1) = lbound(is1) + 1
850 lbound(is2) = lbound(is2) + 1
851 free_bound(3,nb_free_bound) = lbound(is1)
852 free_bound(4,nb_free_bound) = lbound(is2)
855 IF(lbound(is1) > 2 .OR. lbound(is2) > 2)
THEN
868 irm = free_bound(1,i)
869 iedg = free_bound(2,i)
871 IF(lbound(is1) > 2)
THEN
873 vtx_bisector(1,1,is1) = rzero
874 vtx_bisector(2,1,is1) = rzero
875 vtx_bisector(3,1,is1) = rzero
876 vtx_bisector(1,2,is1) = rzero
877 vtx_bisector(2,2,is1) = rzero
878 vtx_bisector(3,2,is1) = rzero
881 is2=admsr(mod(iedg,4)+1,irm)
882 IF(lbound(is2) > 2)
THEN
884 vtx_bisector(1,1,is2) = rzero
885 vtx_bisector(2,1,is2) = rzero
886 vtx_bisector(3,1,is2) = rzero
887 vtx_bisector(1,2,is2) = rzero
888 vtx_bisector(2,2,is2) = rzero
889 vtx_bisector(3,2,is2) = rzero
900 nrtmft= 1+(jtask-1)*nb_free_bound/nthread
901 nrtmlt= jtask*nb_free_bound/nthread
902#include "vectorize.inc"
904 irm = free_bound(1,i)
905 iedg = free_bound(2,i)
906 nx=nod_normal(1,iedg,irm)
907 ny=nod_normal(2,iedg,irm)
908 nz=nod_normal(3,iedg,irm)
911 i2=irect(mod(iedg,4)+1,irm)
921 aaa=run/
max(rem30,sqrt(vx*vx+vy*vy+vz*vz))
926 nod_normal(1,iedg,irm)=vx
927 nod_normal(2,iedg,irm)=vy
928 nod_normal(3,iedg,irm)=vz
934#include "vectorize.inc"
936 irm = free_bound(1,i)
937 iedg = free_bound(2,i)
941 vx=nod_normal(1,iedg,irm)
942 vy=nod_normal(2,iedg,irm)
943 vz=nod_normal(3,iedg,irm)
947 vtx_bisector(1,i1,is1)=vx
948 vtx_bisector(2,i1,is1)=vy
949 vtx_bisector(3,i1,is1)=vz
952 is2=admsr(mod(iedg,4)+1,irm)
954 vtx_bisector(1,i2,is2)=vx
955 vtx_bisector(2,i2,is2)=vy
956 vtx_bisector(3,i2,is2)=vz
967 1 ni25,iad_fredg,fr_edg , nod_normal,wnod_normal,
SIZE ,nadmsr,
968 2 buffers%RECV_RQ ,buffers%SEND_RQ,buffers%IRINDEX,buffers%ISINDEX,buffers%IAD_RECV,
969 3 buffers%NBIRECV,buffers%NBISEND,buffers%RECV_BUF ,buffers%SEND_BUF ,vtx_bisector,
970 4 lbound,iad_frnor,fr_nor,1,fskyn25 ,ishift,addcsrect, procnor,sol_edge)
975 ELSE IF(flag == 2)
THEN
980 nrtmft= 1+(jtask-1)*nrtm/ nthread
981 nrtmlt= jtask*nrtm/nthread
982 DO n=nrtmft,nrtmlt,mvsiz
984 llt=
min(nrtmlt-n+1,mvsiz)
986#include "vectorize.inc"
992 IF(actnor(irm)==3)
THEN
993 wnod_normal(1:3,1:4,irm) = rzero
997 IF(actnor(irm)==0)
THEN
1004 IF(stifm(irm) <= 0)
THEN
1005 wnod_normal(1:3,1:4,irm) = rzero
1012 wnod_normal(1,j,irm) = nod_normal(1,jedg,jrm)
1013 wnod_normal(2,j,irm) = nod_normal(2,jedg,jrm)
1014 wnod_normal(3,j,irm) = nod_normal(3,jedg,jrm)
1021 wnod_normal(1,j,irm) = rzero
1022 wnod_normal(2,j,irm) = rzero
1023 wnod_normal(3,j,irm) = rzero
1035 1 ni25,iad_fredg,fr_edg , nod_normal,wnod_normal,
SIZE , nadmsr,
1036 2 buffers%RECV_RQ ,buffers%SEND_RQ,buffers%IRINDEX,buffers%ISINDEX,buffers%IAD_RECV,
1037 3 buffers%NBIRECV,buffers%NBISEND,buffers%RECV_BUF ,buffers%SEND_BUF ,vtx_bisector,
1038 4 lbound,iad_frnor,fr_nor,2,fskyn25 ,ishift,addcsrect, procnor,sol_edge)
1039 WHERE (lbound(1:nadmsr) > 1)
1040 lbound(1:nadmsr) = 1
1047 DO irm=nrtmft,nrtmlt
1056 IF(actnor(irm)==0) cycle
1058 IF(stifm(irm) <= zero)
THEN
1059 nod_normal(1:3,1:4,irm) = rzero
1065 IF(jrm<0 .AND. stifm(irm) <= 0 )
THEN
1066 nod_normal(1,j,irm) = wnod_normal(1,j,irm)
1067 nod_normal(2,j,irm) = wnod_normal(2,j,irm)
1068 nod_normal(3,j,irm) = wnod_normal(3,j,irm)
1076 nx=nod_normal(1,j,irm)+wnod_normal(1,j,irm)
1077 ny=nod_normal(2,j,irm)+wnod_normal(2,j,irm)
1078 nz=nod_normal(3,j,irm)+wnod_normal(3,j,irm)
1079 aaa=run/
max(rem30,sqrt(nx*nx+ny*ny+nz*nz))
1080 nod_normal(1,j,irm)=nx*aaa
1081 nod_normal(2,j,irm)=ny*aaa
1082 nod_normal(3,j,irm)=nz*aaa