38 2 IXTG ,WA,WAP0 ,IPARTC, IPARTTG,
39 3 IPART_STATE,STAT_INDXC,STAT_INDXTG,X,IDEL,
46 use element_mod ,
only : nixc,nixtg
50#include "implicit_f.inc"
64 INTEGER IXC(NIXC,*),IXTG(NIXTG,*),
65 . IPARG(NPARG,*),IPM(NPROPMI,*),IGEO(NPROPGI,*),
66 . ipartc(*), iparttg(*), ipart_state(*),
67 . stat_indxc(*), stat_indxtg(*)
70 TYPE (ELBUF_STRUCT_),
DIMENSION(NGROUP),
TARGET :: ELBUF_TAB
71 double precision WA(*),WAP0(*)
75 INTEGER I, J, K, N, JJ, LEN, IOFF, IREP, NG, NEL, NFT, ITY, LFT, NPT,
76 . LLT, MLW,NDIR,NLAY,IHBE,ISH3N,IDRAPE,NPTT, NPLY_MAX,IPT,
77 . IGTYP, ID, IPRT0, IPRT,NPG,IPG,IE, FLAGDEG,IDEL,ILAY,ILAW,IFRAM_OLD
78 INTEGER,
DIMENSION(:),
ALLOCATABLE :: PTWA
79 INTEGER,
DIMENSION(:),
ALLOCATABLE :: PTWA_P0
81 . thk, em, eb, h1, h2, h3, angle1,
82 . angle2,dir1_1,dir1_2,dir2_1,dir2_2,aa,bb,v1,v2,v3,x21,x32,x34,
83 . x41,y21,y32,y34,y41,z21,z32,z34,z41,suma,s1,s2,vr,vs,x31,y31,
84 . z31,e11,e12,e13,e21,e22,e23,sum,
area
86 . e1x, e1y, e1z, e2x,e2y, e2z, e3x, e3y, e3z, rx,ry,rz,sx,sy,sz,
88 CHARACTER*100 DELIMIT,LINE
89 TYPE(G_BUFEL_) ,
POINTER :: GBUF
91 TYPE(l_bufel_dir_) ,
POINTER :: LBUF_DIR
94 ./
'#---1----|----2----|----3----|----4----|----5----|----6----|'/
96 ./
'----7----|----8----|----9----|----10---|'/
100 CALL my_alloc(ptwa,
max(stat_numelc ,stat_numeltg))
101 ALLOCATE(ptwa_p0(0:
max(1,stat_numelc_g,stat_numeltg_g)))
105 IF (stat_numelc==0)
GOTO 200
111 gbuf => elbuf_tab(ng)%GBUF
118 npg = elbuf_tab(ng)%NPTR*elbuf_tab(ng)%NPTS
120 nlay = elbuf_tab(ng)%NLAY
121 idrape = elbuf_tab(ng)%IDRAPE
123 IF(idrape > 0 . and. (igtyp == 51 .OR. igtyp == 52))
THEN
126 nply_max = nply_max + elbuf_tab(ng)%BUFLY(j)%NPTT
129 npt =
max(nply_max, npt)
131 IF (irep > 1) ndir = 2
138 x21 = x(1,ixc(3,n))-x(1,ixc(2,n))
139 x32 = x(1,ixc(4,n))-x(1,ixc(3,n))
140 x34 = x(1,ixc(4,n))-x(1,ixc(5,n))
141 x41 = x(1,ixc(5,n))-x(1,ixc(2,n))
143 y21 = x(2,ixc(3,n))-x(2,ixc(2,n))
144 y32 = x(2,ixc(4,n))-x(2,ixc(3,n))
145 y34 = x(2,ixc(4,n))-x(2,ixc(5,n))
146 y41 = x(2,ixc(5,n))-x(2,ixc(2,n))
148 z21 = x(3,ixc(3,n))-x(3,ixc(2,n))
149 z32 = x(3,ixc(4,n))-x(3,ixc(3,n))
150 z34 = x(3,ixc(4,n))-x(3,ixc(5,n))
151 z41 = x(3,ixc(5,n))-x(3,ixc(2,n))
161 e3x = e1y*e2z-e1z*e2y
162 e3y = e1z*e2x-e1x*e2z
163 e3z = e1x*e2y-e1y*e2x
172 IF (ishfram == 0 .OR. igtyp == 16)
THEN
174 suma = e3x*e3x+e3y*e3y+e3z*e3z
175 suma = one /
max(sqrt(suma),em20)
180 s1 = e1x*e1x+e1y*e1y+e1z*e1z
181 s2 = e2x*e2x+e2y*e2y+e2z*e2z
183 e1x = e1x + (e2y*e3z-e2z*e3y)*suma
184 e1y = e1y + (e2z*e3x-e2x*e3z)*suma
185 e1z = e1z + (e2x*e3y-e2y*e3x)*suma
187 suma = e1x*e1x+e1y*e1y+e1z*e1z
188 suma = one /
max(sqrt(suma),em20)
193 e2x = e3y * e1z - e3z * e1y
194 e2y = e3z * e1x - e3x * e1z
195 e2z = e3x * e1y - e3y * e1x
196 ELSEIF (ishfram == 2)
THEN
198 suma = e2x*e2x+e2y*e2y+e2z*e2z
199 e1x = e1x*suma + e2y*e3z-e2z*e3y
200 e1y = e1y*suma + e2z*e3x-e2x*e3z
201 e1z = e1z*suma + e2x*e3y-e2y*e3x
202 suma = e1x*e1x+e1y*e1y+e1z*e1z
203 suma = one/
max(sqrt(suma),em20)
208 suma = e3x*e3x+e3y*e3y+e3z*e3z
209 suma = one /
max(sqrt(suma),em20)
214 e2x = e3y*e1z-e3z*e1y
215 e2y = e3z*e1x-e3x*e1z
216 e2z = e3x*e1y-e3y*e1x
217 suma = e2x*e2x+e2y*e2y+e2z*e2z
218 suma = one/
max(sqrt(suma),em20)
225 IF (ipart_state(iprt) == 0) cycle
228 IF (mlw /= 0 .AND. mlw /= 13)
THEN
249 IF(idrape > 0 .AND. (igtyp == 51 .OR. igtyp == 52))
THEN
251 nptt = elbuf_tab(ng)%BUFLY(j)%NPTT
253 lbuf_dir => elbuf_tab(ng)%BUFLY(j)%LBUF_DIR(ipt)
254 dir1_1 = lbuf_dir%DIRA(i)
255 dir1_2 = lbuf_dir%DIRA(i+nel)
256 ilaw = elbuf_tab(ng)%BUFLY(j)%ILAW
263 vr = v1*e1x+ v2*e1y + v3*e1z
264 vs = v1*e2x+ v2*e2y + v3*e2z
265 suma=
max(sqrt(vr*vr + vs*vs) , em20)
268 ELSEIF (irep == 2)
THEN
275 vr = v1*e1x+ v2*e1y + v3*e1z
276 vs = v1*e2x+ v2*e2y + v3*e2z
277 suma=
max(sqrt(vr*vr + vs*vs) , em20)
281 aa = lbuf_dir%DIRB(i)
282 bb = lbuf_dir%DIRB(i + nel)
286 vr = v1*e1x+ v2*e1y + v3*e1z
287 vs = v1*e2x+ v2*e2y + v3*e2z
288 suma=
max(sqrt(vr*vr + vs*vs) , em20)
291 ELSEIF (irep == 3)
THEN
300 vr = v1*e1x+ v2*e1y + v3*e1z
301 vs = v1*e2x+ v2*e2y + v3*e2z
302 suma=
max(sqrt(vr*vr + vs*vs) , em20)
306 aa = lbuf_dir%DIRB(i)
307 bb = lbuf_dir%DIRB(i + nel)
311 vr = v1*e1x+ v2*e1y + v3*e1z
312 vs = v1*e2x+ v2*e2y + v3*e2z
319 ELSEIF (irep == 4)
THEN
328 vr = v1*e1x+ v2*e1y + v3*e1z
329 vs = v1*e2x+ v2*e2y + v3*e2z
330 suma=
max(sqrt(vr*vr + vs*vs) , em20)
334 aa = lbuf_dir%DIRB(i)
335 bb = lbuf_dir%DIRB(i + nel)
339 vr = v1*e1x+ v2*e1y + v3*e1z
340 vs = v1*e2x+ v2*e2y + v3*e2z
341 suma=
max(sqrt(vr*vr + vs*vs) , em20)
350 vr = v1*e1x+ v2*e1y + v3*e1z
351 vs = v1*e2x+ v2*e2y + v3*e2z
352 suma=
max(sqrt(vr*vr + vs*vs) , em20)
362 IF (mlw /= 0 .AND. mlw /= 13)
THEN
368 IF (mlw /= 0 .AND. mlw /= 13)
THEN
373 IF (irep > 1 .AND. ilaw == 58)
THEN
375 IF (mlw /= 0 .AND. mlw /= 13)
THEN
381 IF (mlw /= 0 .AND. mlw /= 13)
THEN
389 ELSEIF (igtyp == 9 .OR. igtyp == 10 .OR. igtyp == 11 .OR.
390 . igtyp == 16 .OR. igtyp == 17 .OR. igtyp == 51 .OR.
393 dir1_1 = elbuf_tab(ng)%BUFLY(j)%DIRA(i)
394 dir1_2 = elbuf_tab(ng)%BUFLY(j)%DIRA(i + nel)
402 vr = v1*e1x+ v2*e1y + v3*e1z
403 vs = v1*e2x+ v2*e2y + v3*e2z
404 suma=
max(sqrt(vr*vr + vs*vs) , em20)
407 ELSEIF (irep == 2)
THEN
414 vr = v1*e1x+ v2*e1y + v3*e1z
415 vs = v1*e2x+ v2*e2y + v3*e2z
416 suma=
max(sqrt(vr*vr + vs*vs) , em20)
420 aa = elbuf_tab(ng)%BUFLY(j)%DIRB(i)
421 bb = elbuf_tab(ng)%BUFLY(j)%DIRB(i + nel)
425 vr = v1*e1x+ v2*e1y + v3*e1z
426 vs = v1*e2x+ v2*e2y + v3*e2z
427 suma=
max(sqrt(vr*vr + vs*vs) , em20)
430 ELSEIF (irep == 3)
THEN
439 vr = v1*e1x+ v2*e1y + v3*e1z
440 vs = v1*e2x+ v2*e2y + v3*e2z
441 suma=
max(sqrt(vr*vr + vs*vs) , em20)
445 aa = elbuf_tab(ng)%BUFLY(j)%DIRB(i)
446 bb = elbuf_tab(ng)%BUFLY(j)%DIRB(i + nel)
450 vr = v1*e1x+ v2*e1y + v3*e1z
451 vs = v1*e2x+ v2*e2y + v3*e2z
452 suma=
max(sqrt(vr*vr + vs*vs) , em20)
458 ELSEIF (irep == 4)
THEN
467 vr = v1*e1x+ v2*e1y + v3*e1z
468 vs = v1*e2x+ v2*e2y + v3*e2z
469 suma=
max(sqrt(vr*vr + vs*vs) , em20)
473 aa = elbuf_tab(ng)%BUFLY(j)%DIRB(i)
474 bb = elbuf_tab(ng)%BUFLY(j)%DIRB(i + nel)
478 vr = v1*e1x+ v2*e1y + v3*e1z
479 vs = v1*e2x+ v2*e2y + v3*e2z
480 suma=
max(sqrt(vr*vr + vs*vs) , em20)
489 vr = v1*e1x+ v2*e1y + v3*e1z
490 vs = v1*e2x+ v2*e2y + v3*e2z
491 suma=
max(sqrt(vr*vr + vs*vs) , em20)
501 IF (mlw /= 0 .AND. mlw /= 13)
THEN
507 IF (mlw /= 0 .AND. mlw /= 13)
THEN
512 IF (irep > 1 .AND. ilaw == 58)
THEN
514 IF (mlw /= 0 .AND. mlw /= 13)
THEN
520 IF (mlw /= 0 .AND. mlw /= 13)
THEN
555 IF (ispmd == 0.AND.len > 0)
THEN
564 ioff = nint(wap0(j + 1))
565 IF(idel==0.OR.(idel==1.AND.ioff >=1))
THEN
566 iprt = nint(wap0(j + 2))
567 IF (iprt /= iprt0)
THEN
568 IF (izipstrs == 0)
THEN
569 WRITE(iugeo,
'(A)') delimit
570 WRITE(iugeo,
'(A)')
'/INISHE/ORTH_LOC'
572 .
'#------------------------ REPEAT --------------------------'
574 .
'# SHELLID NIP NDIR'
576 .
'#---------------------- END REPEAT ------------------------'
577 WRITE(iugeo,
'(A)') delimit
579 WRITE(line,
'(A)') delimit
581 WRITE(line,
'(A)')
'/INISHE/ORTH_LOC'
584 .
'#------------------------ REPEAT --------------------------'
587 .
'# SHELLID NIP NDIR'
590 .
'#---------------------- END REPEAT ------------------------'
592 WRITE(line,
'(A)') delimit
597 id = nint(wap0(j + 3))
598 npt = nint(wap0(j + 4))
599 npg = nint(wap0(j + 5))
600 ihbe = nint(wap0(j + 6))
601 igtyp = nint(wap0(j + 7))
602 ndir = nint(wap0(j + 8))
603 irep = nint(wap0(j + 9))
609 angle1 = atan2(wap0(j + 2), wap0(j + 1))
610 IF(flagdeg == 1) angle1=angle1*hundred80/pi
611 IF (izipstrs == 0)
THEN
612 WRITE(iugeo,
'(5I10)')id,npt,npg,ndir,flagdeg
613 WRITE(iugeo,
'(1PE20.13)')angle1
615 WRITE(line,
'(5I10)')id,npt,npg,ndir,flagdeg
617 WRITE(line,
'(1PE20.13)')angle1
621 ELSEIF (igtyp == 10 .OR. igtyp == 11 .OR. igtyp == 16.OR.
622 . igtyp == 17 .OR. igtyp == 51 .OR. igtyp == 52)
THEN
623 IF (izipstrs == 0)
THEN
624 WRITE(iugeo,
'(5I10)')id,npt,npg,ndir,flagdeg
626 WRITE(line,
'(5I10)')id,npt,npg,ndir,flagdeg
634 IF (irep == 2 .OR. (irep > 2 .AND. ilaw == 58))
THEN
636 angle1 = atan2(wap0(j + 2), wap0(j + 1))
637 angle2 = atan2(wap0(j + 4), wap0(j + 3))
638 angle2 = mod(angle2 - angle1,two*pi)
639 IF (flagdeg == 1) angle1=angle1*hundred80/pi
640 IF (flagdeg == 1) angle2=angle2*hundred80/pi
641 IF (izipstrs == 0)
THEN
642 WRITE(iugeo,
'(1P2E20.13)')angle1,angle2
644 WRITE(line,
'(1P2E20.13)')angle1,angle2
649 angle1 = atan2(wap0(j + 2), wap0(j + 1))
650 IF (flagdeg == 1) angle1=angle1*hundred80/pi
651 IF (izipstrs == 0)
THEN
652 WRITE(iugeo,
'(1PE20.13)')angle1
654 WRITE(line,
'(1PE20.13)')angle1
669 IF (stat_numeltg==0)
GOTO 300
676 gbuf => elbuf_tab(ng)%GBUF
683 npg = elbuf_tab(ng)%NPTR*elbuf_tab(ng)%NPTS
685 nlay = elbuf_tab(ng)%NLAY
686 idrape = elbuf_tab(ng)%IDRAPE
688 IF(idrape > 0 . and. (igtyp == 51 .OR. igtyp == 52))
THEN
691 nply_max = nply_max + elbuf_tab(ng)%BUFLY(j)%NPTT
694 npt =
max(nply_max, npt)
696 IF (ish3n==3.AND.ish3nfram==0)
THEN
701 IF (irep > 1) ndir = 2
709 x21 = x(1,ixtg(3,n))-x(1,ixtg(2,n))
710 x31 = x(1,ixtg(4,n))-x(1,ixtg(2,n))
711 x32 = x(1,ixtg(4,n))-x(1,ixtg(3,n))
713 y21 = x(2,ixtg(3,n))-x(2,ixtg(2,n))
714 y31 = x(2,ixtg(4,n))-x(2,ixtg(2,n))
715 y32 = x(2,ixtg(4,n))-x(2,ixtg(3,n))
717 z21 = x(3,ixtg(3,n))-x(3,ixtg(2,n))
718 z31 = x(3,ixtg(4,n))-x(3,ixtg(2,n))
719 z32 = x(3,ixtg(4,n))-x(3,ixtg(3,n))
735 IF(ifram_old ==0 )
THEN
736 CALL clsconv3(x21,y21,z21,x31,y31,z31,
737 + e1x,e1y,e1z,e2x,e2y,e2z,e3x,e3y,e3z)
742 x2l = sqrt(e1x*e1x+e1y*e1y+e1z*e1z)
750 sum = sqrt(e3x*e3x+e3y*e3y+e3z*e3z)
758 sum = sqrt(e2x*e2x+e2y*e2y+e2z*e2z)
765 IF (ipart_state(iprt)==0) cycle
768 IF (mlw /= 0 .AND. mlw /= 13)
THEN
776 wa(jj) = ixtg(nixtg,n)
789 IF (igtyp == 9 .OR. igtyp == 10 .OR. igtyp == 11 .OR.
790 . igtyp == 16 .OR. igtyp == 17 .OR. igtyp == 51 .OR.
792 IF(idrape > 0 .AND. (igtyp == 51 .OR. igtyp == 52))
THEN
794 nptt = elbuf_tab(ng)%BUFLY(j)%NPTT
796 lbuf_dir => elbuf_tab(ng)%BUFLY(j)%LBUF_DIR(ipt)
797 dir1_1 = lbuf_dir%DIRA(i)
798 dir1_2 = lbuf_dir%DIRA(i + nel)
799 ilaw = elbuf_tab(ng)%BUFLY(j)%ILAW
807 vs = v1*e2x+ v2*e2y + v3*e2z
808 suma=
max(sqrt(vr*vr + vs*vs) , em20)
811 ELSEIF (irep == 2)
THEN
818 vr = v1*e1x+ v2*e1y + v3*e1z
819 vs = v1*e2x+ v2*e2y + v3*e2z
820 suma=
max(sqrt(vr*vr + vs*vs) , em20)
824 aa = lbuf_dir%DIRB(i)
825 bb = lbuf_dir%DIRB(i + nel)
829 vr = v1*e1x+ v2*e1y + v3*e1z
830 vs = v1*e2x+ v2*e2y + v3*e2z
831 suma=
max(sqrt(vr*vr + vs*vs) , em20)
834 ELSEIF (irep == 3)
THEN
843 vr = v1*e1x+ v2*e1y + v3*e1z
844 vs = v1*e2x+ v2*e2y + v3*e2z
845 suma=
max(sqrt(vr*vr + vs*vs) , em20)
849 aa = lbuf_dir%DIRB(i)
850 bb = lbuf_dir%DIRB(i + nel)
854 vr = v1*e1x+ v2*e1y + v3*e1z
855 vs = v1*e2x+ v2*e2y + v3*e2z
856 suma=
max(sqrt(vr*vr + vs*vs) , em20)
862 ELSEIF (irep == 4)
THEN
871 vr = v1*e1x+ v2*e1y + v3*e1z
872 vs = v1*e2x+ v2*e2y + v3*e2z
873 suma=
max(sqrt(vr*vr + vs*vs) , em20)
877 aa = lbuf_dir%DIRB(i)
878 bb = lbuf_dir%DIRB(i + nel)
882 vr = v1*e1x+ v2*e1y + v3*e1z
883 vs = v1*e2x+ v2*e2y + v3*e2z
884 suma=
max(sqrt(vr*vr + vs*vs) , em20)
893 vr = v1*e1x+ v2*e1y + v3*e1z
894 vs = v1*e2x+ v2*e2y + v3*e2z
895 suma=
max(sqrt(vr*vr + vs*vs) , em20)
905 IF (mlw /= 0 .AND. mlw /= 13)
THEN
911 IF (mlw /= 0 .AND. mlw /= 13)
THEN
916 IF (irep > 1 .AND. ilaw == 58)
THEN
918 IF (mlw /= 0 .AND. mlw /= 13)
THEN
924 IF (mlw /= 0 .AND. mlw /= 13)
THEN
934 dir1_1 = elbuf_tab(ng)%BUFLY(j)%DIRA(i)
935 dir1_2 = elbuf_tab(ng)%BUFLY(j)%DIRA(i + nel)
936 ilaw = elbuf_tab(ng)%BUFLY(j)%ILAW
943 vr = v1*e1x+ v2*e1y + v3*e1z
944 vs = v1*e2x+ v2*e2y + v3*e2z
945 suma=
max(sqrt(vr*vr + vs*vs) , em20)
948 ELSEIF (irep == 2)
THEN
955 vr = v1*e1x+ v2*e1y + v3*e1z
956 vs = v1*e2x+ v2*e2y + v3*e2z
957 suma=
max(sqrt(vr*vr + vs*vs) , em20)
962 bb = elbuf_tab(ng)%BUFLY(j)%DIRB(i + nel)
966 vr = v1*e1x+ v2*e1y + v3*e1z
967 vs = v1*e2x+ v2*e2y + v3*e2z
968 suma=
max(sqrt(vr*vr + vs*vs) , em20)
971 ELSEIF (irep == 3)
THEN
980 vr = v1*e1x+ v2*e1y + v3*e1z
981 vs = v1*e2x+ v2*e2y + v3*e2z
982 suma=
max(sqrt(vr*vr + vs*vs) , em20)
986 aa = elbuf_tab(ng)%BUFLY(j)%DIRB(i)
987 bb = elbuf_tab(ng)%BUFLY(j)%DIRB(i + nel)
991 vr = v1*e1x+ v2*e1y + v3*e1z
992 vs = v1*e2x+ v2*e2y + v3*e2z
993 suma=
max(sqrt(vr*vr + vs*vs) , em20)
999 ELSEIF (irep == 4)
THEN
1001 IF (ilaw == 58)
THEN
1008 vr = v1*e1x+ v2*e1y + v3*e1z
1009 vs = v1*e2x+ v2*e2y + v3*e2z
1010 suma=
max(sqrt(vr*vr + vs*vs) , em20)
1014 aa = elbuf_tab(ng)%BUFLY(j)%DIRB(i)
1015 bb = elbuf_tab(ng)%BUFLY(j)%DIRB(i + nel)
1019 vr = v1*e1x+ v2*e1y + v3*e1z
1020 vs = v1*e2x+ v2*e2y + v3*e2z
1021 suma=
max(sqrt(vr*vr + vs*vs) , em20)
1030 vr = v1*e1x+ v2*e1y + v3*e1z
1032 suma=
max(sqrt(vr*vr + vs*vs) , em20)
1042 IF (mlw /= 0 .AND. mlw /= 13)
THEN
1048 IF (mlw /= 0 .AND. mlw /= 13)
THEN
1053 IF (irep > 1 .AND. ilaw == 58)
THEN
1055 IF (mlw /= 0 .AND. mlw /= 13)
THEN
1061 IF (mlw /= 0 .AND. mlw /= 13)
THEN
1081 IF (nspmd == 1)
THEN
1097 IF (ispmd == 0.AND.len > 0)
THEN
1100 DO n=1,stat_numeltg_g
1106 ioff = nint(wap0(j + 1))
1107 IF(idel==0.OR.(idel==1.AND.ioff >=1))
THEN
1108 iprt = nint(wap0(j + 2))
1109 IF (iprt /= iprt0)
THEN
1110 IF (izipstrs == 0)
THEN
1111 WRITE(iugeo,
'(A)') delimit
1112 WRITE(iugeo,
'(A)')
'/INISH3/ORTH_LOC'
1114 .
'#------------------------ REPEAT --------------------------'
1116 .
'# SHELLID NIP NDIR'
1118 .
'#---------------------- END REPEAT ------------------------'
1119 WRITE(iugeo,
'(A)') delimit
1121 WRITE(line,
'(A)') delimit
1123 WRITE(line,
'(A)')
'/INISH3/ORTH_LOC'
1126 .
'#------------------------ REPEAT --------------------------'
1129 .
'# SHELLID NIP NDIR'
1132 .
'#---------------------- END REPEAT ------------------------'
1134 WRITE(line,
'(A)') delimit
1139 id = nint(wap0(j + 3))
1140 npt = nint(wap0(j + 4))
1141 npg = nint(wap0(j + 5))
1142 ish3n = nint(wap0(j + 6))
1143 igtyp = nint(wap0(j + 7))
1144 ndir = nint(wap0(j + 8))
1145 irep = nint(wap0(j + 9))
1147 IF (igtyp == 9)
THEN
1151 angle1 = atan2(wap0(j + 2), wap0(j + 1))
1152 IF (flagdeg == 1) angle1=angle1*hundred80/pi
1153 IF (izipstrs == 0)
THEN
1154 WRITE(iugeo,
'(5I10)')id,npt,npg,ndir,flagdeg
1155 WRITE(iugeo,
'(1PE20.13)')angle1
1157 WRITE(line,
'(5I10)')id,npt,npg,ndir,flagdeg
1159 WRITE(line,
'(1PE20.13)')angle1
1163 ELSEIF (igtyp == 10 .OR. igtyp == 11 .OR. igtyp == 16 .OR.
1164 . igtyp == 17 .OR. igtyp == 51 .OR. igtyp == 52 )
THEN
1165 IF (izipstrs == 0)
THEN
1166 WRITE(iugeo,
'(5I10)')id,npt,npg,ndir,flagdeg
1168 WRITE(line,
'(5I10)')id,npt,npg,ndir,flagdeg
1174 IF (irep == 2 .OR. (irep > 2 .AND. ilaw == 58))
THEN
1176 angle1 = atan2(wap0(j + 2), wap0(j + 1))
1177 angle2 = atan2(wap0(j + 4), wap0(j + 3))
1178 angle2 = mod(angle2 - angle1,two*pi)
1179 IF (flagdeg == 1) angle1=angle1*hundred80/pi
1180 IF (flagdeg == 1) angle2=angle2*hundred80/pi
1181 IF (izipstrs == 0)
THEN
1182 WRITE(iugeo,
'(1P2E20.13)')angle1,angle2
1184 WRITE(line,
'(1P2E20.13)')angle1,angle2
1189 angle1 = atan2(wap0(j + 2), wap0(j + 1))
1190 IF (flagdeg == 1) angle1=angle1*hundred80/pi
1191 IF (izipstrs == 0)
THEN
1192 WRITE(iugeo,
'(1PE20.13)')angle1
1194 WRITE(line,
'(1PE20.13)')angle1