37 2 IXTG ,WA,WAP0 ,IPARTC, IPARTTG,
38 3 IPART_STATE,STAT_INDXC,STAT_INDXTG,X,IDEL,
48#include "implicit_f.inc"
62 INTEGER IXC(NIXC,*),IXTG(NIXTG,*),
63 . IPARG(NPARG,*),IPM(NPROPMI,*),IGEO(NPROPGI,*),
64 . ipartc(*), iparttg(*), ipart_state(*),
65 . stat_indxc(*), stat_indxtg(*)
68 TYPE (ELBUF_STRUCT_),
DIMENSION(NGROUP),
TARGET :: ELBUF_TAB
69 double precision WA(*),(*)
73 INTEGER I,J,K,N,II,JJ,LEN, IOFF, IREP,NG, NEL, NFT, ITY, LFT, NPT,
74 . LLT, MLW,NDIR,NLAY,IHBE,ISH3N,IDRAPE,NPTT, NPLY_MAX,IPT,
75 . , ID, IPRT0, IPRT,NPG,IPG,IE, FLAGDEG,IDEL,ILAY,ILAW,IFRAM_OLD
76 INTEGER,
DIMENSION(:),
ALLOCATABLE :: PTWA
77 INTEGER,
DIMENSION(:),
ALLOCATABLE :: PTWA_P0
79 . thk, em, eb, h1, h2, h3, angle1,
80 . angle2,dir1_1,dir1_2,dir2_1,dir2_2,aa,bb,v1,v2,v3,x21,x32,x34,
81 . x41,y21,y32,y34,y41,z21,z32,z34,z41,suma,s1,s2,vr,vs,x31,y31,
82 . z31,e11,e12,e13,e21,e22,e23,sum,
area
84 . e1x, e1y, e1z, e2x,e2y, e2z, e3x, e3y, e3z, rx,ry,rz,sx,sy,sz,
86 CHARACTER*100 DELIMIT,LINE
87 TYPE(G_BUFEL_) ,
POINTER :: GBUF
88 TYPE(BUF_LAY_) ,
POINTER :: BUFLY
89 TYPE(l_bufel_dir_) ,
POINTER :: LBUF_DIR
92 ./
'#---1----|----2----|----3----|----4----|----5----|----6----|'/
94 ./
'----7----|----8----|----9----|----10---|'/
98 CALL my_alloc(ptwa,
max(stat_numelc ,stat_numeltg))
99 ALLOCATE(ptwa_p0(0:
max(1,stat_numelc_g,stat_numeltg_g)))
103 IF (stat_numelc==0)
GOTO 200
109 gbuf => elbuf_tab(ng)%GBUF
116 npg = elbuf_tab(ng)%NPTR*elbuf_tab(ng)%NPTS
118 nlay = elbuf_tab(ng)%NLAY
119 idrape = elbuf_tab(ng)%IDRAPE
121 IF(idrape > 0 . and. (igtyp == 51 .OR. igtyp == 52))
THEN
124 nply_max = nply_max + elbuf_tab(ng)%BUFLY(j)%NPTT
127 npt =
max(nply_max, npt)
129 IF (irep > 1) ndir = 2
136 x21 = x(1,ixc(3,n))-x(1,ixc(2,n))
137 x32 = x(1,ixc(4,n))-x(1,ixc(3,n))
138 x34 = x(1,ixc(4,n))-x(1,ixc(5,n))
139 x41 = x(1,ixc(5,n))-x(1,ixc(2,n))
141 y21 = x(2,ixc(3,n))-x(2,ixc(2,n))
142 y32 = x(2,ixc(4,n))-x
143 y34 = x(2,ixc(4,n))-x(2,ixc(5,n))
144 y41 = x(2,ixc(5,n))-x(2,ixc(2,n))
146 z21 = x(3,ixc(3,n))-x(3,ixc(2,n))
147 z32 = x(3,ixc(4,n))-x(3,ixc(3,n))
148 z34 = x(3,ixc(4,n))-x(3,ixc(5,n))
149 z41 = x(3,ixc(5,n))-x(3,ixc(2,n))
159 e3x = e1y*e2z-e1z*e2y
160 e3y = e1z*e2x-e1x*e2z
161 e3z = e1x*e2y-e1y*e2x
170 IF (ishfram == 0 .OR. igtyp == 16)
THEN
172 suma = e3x*e3x+e3y*e3y+e3z*e3z
173 suma = one /
max(sqrt(suma),em20)
178 s1 = e1x*e1x+e1y*e1y+e1z*e1z
179 s2 = e2x*e2x+e2y*e2y+e2z*e2z
181 e1x = e1x + (e2y*e3z-e2z*e3y)*suma
182 e1y = e1y + (e2z*e3x-e2x*e3z)*suma
183 e1z = e1z + (e2x*e3y-e2y*e3x)*suma
185 suma = e1x*e1x+e1y*e1y+e1z*e1z
186 suma = one /
max(sqrt(suma),em20)
191 e2x = e3y * e1z - e3z * e1y
192 e2y = e3z * e1x - e3x * e1z
193 e2z = e3x * e1y - e3y * e1x
194 ELSEIF (ishfram == 2)
THEN
196 suma = e2x*e2x+e2y*e2y+e2z*e2z
197 e1x = e1x*suma + e2y*e3z-e2z*e3y
198 e1y = e1y*suma + e2z*e3x-e2x*e3z
199 e1z = e1z*suma + e2x*e3y-e2y*e3x
200 suma = e1x*e1x+e1y*e1y+e1z*e1z
201 suma = one/
max(sqrt(suma),em20)
206 suma = e3x*e3x+e3y*e3y+e3z*e3z
207 suma = one /
max(sqrt(suma),em20)
212 e2x = e3y*e1z-e3z*e1y
213 e2y = e3z*e1x-e3x*e1z
214 e2z = e3x*e1y-e3y*e1x
215 suma = e2x*e2x+e2y*e2y+e2z*e2z
216 suma = one/
max(sqrt(suma),em20)
223 IF (ipart_state(iprt) == 0) cycle
226 IF (mlw /= 0 .AND. mlw /= 13)
THEN
247 IF(idrape > 0 .AND. (igtyp == 51 .OR. igtyp == 52))
THEN
249 nptt = elbuf_tab(ng)%BUFLY(j)%NPTT
251 lbuf_dir => elbuf_tab(ng)%BUFLY(j)%LBUF_DIR(ipt)
252 dir1_1 = lbuf_dir%DIRA(i)
253 dir1_2 = lbuf_dir%DIRA(i+nel)
254 ilaw = elbuf_tab(ng)%BUFLY(j)%ILAW
261 vr = v1*e1x+ v2*e1y + v3*e1z
262 vs = v1*e2x+ v2*e2y + v3*e2z
263 suma=
max(sqrt(vr*vr + vs*vs) , em20)
266 ELSEIF (irep == 2)
THEN
273 vr = v1*e1x+ v2*e1y + v3*e1z
274 vs = v1*e2x+ v2*e2y + v3*e2z
275 suma=
max(sqrt(vr*vr + vs*vs) , em20)
279 aa = lbuf_dir%DIRB(i)
280 bb = lbuf_dir%DIRB(i + nel
284 vr = v1*e1x+ v2*e1y + v3*e1z
285 vs = v1*e2x+ v2*e2y + v3*e2z
286 suma=
max(sqrt(vr*vr + vs*vs) , em20)
289 ELSEIF (irep == 3)
THEN
298 vr = v1*e1x+ v2*e1y + v3*e1z
299 vs = v1*e2x+ v2*e2y + v3*e2z
300 suma=
max(sqrt(vr*vr + vs*vs) , em20)
304 aa = lbuf_dir%DIRB(i)
305 bb = lbuf_dir%DIRB(i + nel)
309 vr = v1*e1x+ v2*e1y + v3*e1z
310 vs = v1*e2x+ v2*e2y + v3*e2z
311 suma=
max(sqrt(vr*vr + vs*vs) , em20)
317 ELSEIF (irep == 4)
THEN
326 vr = v1*e1x+ v2*e1y + v3*e1z
327 vs = v1*e2x+ v2*e2y + v3*e2z
328 suma=
max(sqrt(vr*vr + vs*vs) , em20)
332 aa = lbuf_dir%DIRB(i)
333 bb = lbuf_dir%DIRB(i + nel)
337 vr = v1*e1x+ v2*e1y + v3*e1z
338 vs = v1*e2x+ v2*e2y + v3*e2z
339 suma=
max(sqrt(vr*vr + vs*vs) , em20)
348 vr = v1*e1x+ v2*e1y + v3*e1z
349 vs = v1*e2x+ v2*e2y + v3*e2z
350 suma=
max(sqrt(vr*vr + vs*vs) , em20)
360 IF (mlw /= 0 .AND. mlw /= 13)
THEN
366 IF (mlw /= 0 .AND. mlw /= 13)
THEN
371 IF (irep > 1 .AND. ilaw == 58)
THEN
373 IF (mlw /= 0 .AND. mlw /= 13)
THEN
379 IF (mlw /= 0 .AND. mlw /= 13)
THEN
387 ELSEIF (igtyp == 9 .OR. igtyp == 10 .OR. igtyp == 11 .OR.
388 . igtyp == 16 .OR. igtyp == 17 .OR. igtyp == 51 .OR.
391 dir1_1 = elbuf_tab(ng)%BUFLY(j)%DIRA(i)
392 dir1_2 = elbuf_tab(ng)%BUFLY(j)%DIRA(i + nel)
393 ilaw = elbuf_tab(ng)%BUFLY(j)%ILAW
400 vr = v1*e1x+ v2*e1y + v3*e1z
401 vs = v1*e2x+ v2*e2y + v3*e2z
402 suma=
max(sqrt(vr*vr + vs*vs) , em20)
405 ELSEIF (irep == 2)
THEN
412 vr = v1*e1x+ v2*e1y + v3*e1z
413 vs = v1*e2x+ v2*e2y + v3*e2z
414 suma=
max(sqrt(vr*vr + vs*vs) , em20)
418 aa = elbuf_tab(ng)%BUFLY(j)%DIRB(i)
419 bb = elbuf_tab(ng)%BUFLY(j)%DIRB(i + nel)
423 vr = v1*e1x+ v2*e1y + v3*e1z
424 vs = v1*e2x+ v2*e2y + v3*e2z
425 suma=
max(sqrt(vr*vr + vs*vs) , em20)
428 ELSEIF (irep == 3)
THEN
437 vr = v1*e1x+ v2*e1y + v3*e1z
438 vs = v1*e2x+ v2*e2y + v3*e2z
439 suma=
max(sqrt(vr*vr + vs*vs) , em20)
443 aa = elbuf_tab(ng)%BUFLY(j)%DIRB(i)
444 bb = elbuf_tab(ng)%BUFLY(j)%DIRB(i + nel)
448 vr = v1*e1x+ v2*e1y + v3*e1z
449 vs = v1*e2x+ v2*e2y + v3*e2z
450 suma=
max(sqrt(vr*vr + vs*vs) , em20)
456 ELSEIF (irep == 4)
THEN
465 vr = v1*e1x+ v2*e1y + v3*e1z
466 vs = v1*e2x+ v2*e2y + v3*e2z
467 suma=
max(sqrt(vr*vr + vs*vs) , em20)
471 aa = elbuf_tab(ng)%BUFLY(j)%DIRB(i)
472 bb = elbuf_tab(ng)%BUFLY(j)%DIRB(i + nel)
476 vr = v1*e1x+ v2*e1y + v3*e1z
477 vs = v1*e2x+ v2*e2y + v3*e2z
478 suma=
max(sqrt(vr*vr + vs*vs) , em20)
487 vr = v1*e1x+ v2*e1y + v3*e1z
488 vs = v1*e2x+ v2*e2y + v3*e2z
489 suma=
max(sqrt(vr*vr + vs*vs) , em20)
499 IF (mlw /= 0 .AND. mlw /= 13)
THEN
505 IF (mlw /= 0 .AND. mlw /= 13)
THEN
510 IF (irep > 1 .AND. ilaw == 58)
THEN
512 IF (mlw /= 0 .AND. mlw /= 13)
THEN
518 IF (mlw /= 0 .AND. mlw /= 13)
THEN
553 IF (ispmd == 0.AND.len > 0)
THEN
562 ioff = nint(wap0(j + 1))
563 IF(idel==0.OR.(idel==1.AND.ioff >=1))
THEN
564 iprt = nint(wap0(j + 2))
565 IF (iprt /= iprt0)
THEN
566 IF (izipstrs == 0)
THEN
567 WRITE(iugeo,
'(A)') delimit
568 WRITE(iugeo,
'(A)')
'/INISHE/ORTH_LOC'
570 .
'#------------------------ REPEAT --------------------------'
572 .
'# SHELLID NIP NDIR'
574 .
'#---------------------- END REPEAT ------------------------'
575 WRITE(iugeo,
'(A)') delimit
577 WRITE(line,
'(A)') delimit
579 WRITE(line,
'(A)')
'/INISHE/ORTH_LOC'
582 .
'#------------------------ REPEAT --------------------------'
585 .
'# SHELLID NIP NDIR'
588 .
'#---------------------- END REPEAT ------------------------'
590 WRITE(line,
'(A)') delimit
595 id = nint(wap0(j + 3))
596 npt = nint(wap0(j + 4))
597 npg = nint(wap0(j + 5))
598 ihbe = nint(wap0(j + 6))
599 igtyp = nint(wap0(j + 7))
600 ndir = nint(wap0(j + 8))
601 irep = nint(wap0(j + 9))
607 angle1 = atan2(wap0(j + 2), wap0(j + 1))
608 IF(flagdeg == 1) angle1=angle1*hundred80/pi
609 IF (izipstrs == 0)
THEN
610 WRITE(iugeo,
'(5I10)')id,npt,npg,ndir,flagdeg
611 WRITE(iugeo,
'(1PE20.13)')angle1
613 WRITE(line,
'(5I10)')id,npt,npg,ndir,flagdeg
615 WRITE(line,
'(1PE20.13)')angle1
619 ELSEIF (igtyp == 10 .OR. igtyp == 11 .OR. igtyp == 16.OR.
620 . igtyp == 17 .OR. igtyp == 51 .OR. igtyp == 52)
THEN
621 IF (izipstrs == 0)
THEN
622 WRITE(iugeo,
'(5I10)')id,npt,npg,ndir,flagdeg
624 WRITE(line,
'(5I10)')id,npt,npg,ndir
632 IF (irep == 2 .OR. (irep > 2 .AND. ilaw == 58))
THEN
634 angle1 = atan2(wap0(j + 2), wap0(j + 1))
635 angle2 = atan2(wap0(j + 4), wap0(j + 3))
636 angle2 = mod(angle2 - angle1,two*pi)
637 IF (flagdeg == 1) angle1=angle1*hundred80/pi
638 IF (flagdeg == 1) angle2=angle2*hundred80/pi
639 IF (izipstrs == 0)
THEN
640 WRITE(iugeo,
'(1P2E20.13)')angle1,angle2
642 WRITE(line,
'(1P2E20.13)')angle1,angle2
647 angle1 = atan2(wap0(j + 2), wap0(j + 1))
648 IF (flagdeg == 1) angle1=angle1*hundred80/pi
649 IF (izipstrs == 0)
THEN
650 WRITE(iugeo,
'(1PE20.13)')angle1
652 WRITE(line,
'(1PE20.13)')angle1
667 IF (stat_numeltg==0)
GOTO 300
674 gbuf => elbuf_tab(ng)%GBUF
681 npg = elbuf_tab(ng)%NPTR*elbuf_tab(ng)%NPTS
683 nlay = elbuf_tab(ng)%NLAY
684 idrape = elbuf_tab(ng)%IDRAPE
686 IF(idrape > 0 . and. (igtyp == 51 .OR. igtyp == 52))
THEN
689 nply_max = nply_max + elbuf_tab(ng)%BUFLY(j)%NPTT
692 npt =
max(nply_max, npt)
694 IF (ish3n==3.AND.ish3nfram==0)
THEN
699 IF (irep > 1) ndir = 2
707 x21 = x(1,ixtg(3,n))-x(1,ixtg(2,n))
708 x31 = x(1,ixtg(4,n))-x(1,ixtg
709 x32 = x(1,ixtg(4,n))-x(1,ixtg(3,n))
711 y21 = x(2,ixtg(3,n))-x(2,ixtg(2,n))
712 y31 = x(2,ixtg(4,n))-x(2,ixtg(2,n))
713 y32 = x(2,ixtg(4,n))-x(2,ixtg(3,n))
715 z21 = x(3,ixtg(3,n))-x(3,ixtg(2,n))
716 z31 = x(3,ixtg(4,n))-x(3,ixtg(2,n))
717 z32 = x(3,ixtg(4,n))-x(3,ixtg(3,n))
733 IF(ifram_old ==0 )
THEN
734 CALL clsconv3(x21,y21,z21,x31,y31,z31,
735 + e1x,e1y,e1z,e2x,e2y
740 x2l = sqrt(e1x*e1x+e1y*e1y+e1z*e1z)
748 sum = sqrt(e3x*e3x+e3y*e3y+e3z*e3z)
756 sum = sqrt(e2x*e2x+e2y*e2y+e2z*e2z)
763 IF (ipart_state(iprt)==0) cycle
766 IF (mlw /= 0 .AND. mlw /= 13)
THEN
774 wa(jj) = ixtg(nixtg,n)
787 IF (igtyp == 9 .OR. igtyp == 10 .OR. igtyp == 11 .OR.
788 . igtyp == 16 .OR. igtyp == 17 .OR. igtyp == 51 .OR.
790 IF(idrape > 0 .AND. (igtyp == 51 .OR. igtyp == 52))
THEN
792 nptt = elbuf_tab(ng)%BUFLY(j)%NPTT
794 lbuf_dir => elbuf_tab(ng)%BUFLY(j)%LBUF_DIR(ipt)
795 dir1_1 = lbuf_dir%DIRA(i)
796 dir1_2 = lbuf_dir%DIRA(i + nel)
797 ilaw = elbuf_tab(ng)%BUFLY(j)%ILAW
804 vr = v1*e1x+ v2*e1y + v3*e1z
805 vs = v1*e2x+ v2*e2y + v3*e2z
806 suma=
max(sqrt(vr*vr + vs*vs) , em20)
809 ELSEIF (irep == 2)
THEN
816 vr = v1*e1x+ v2*e1y + v3*e1z
817 vs = v1*e2x+ v2*e2y + v3*e2z
818 suma=
max(sqrt(vr*vr + vs*vs) , em20)
822 aa = lbuf_dir%DIRB(i)
823 bb = lbuf_dir%DIRB(i + nel)
827 vr = v1*e1x+ v2*e1y + v3*e1z
828 vs = v1*e2x+ v2*e2y + v3*e2z
829 suma=
max(sqrt(vr*vr + vs*vs) , em20)
832 ELSEIF (irep == 3)
THEN
841 vr = v1*e1x+ v2*e1y + v3*e1z
842 vs = v1*e2x+ v2*e2y + v3*e2z
843 suma=
max(sqrt(vr*vr + vs*vs) , em20)
847 aa = lbuf_dir%DIRB(i)
848 bb = lbuf_dir%DIRB(i + nel)
852 vr = v1*e1x+ v2*e1y + v3*e1z
853 vs = v1*e2x+ v2*e2y + v3*e2z
854 suma=
max(sqrt(vr*vr + vs*vs) , em20)
860 ELSEIF (irep == 4)
THEN
869 vr = v1*e1x+ v2*e1y + v3*e1z
870 vs = v1*e2x+ v2*e2y + v3*e2z
871 suma=
max(sqrt(vr*vr + vs*vs) , em20)
875 aa = lbuf_dir%DIRB(i)
876 bb = lbuf_dir%DIRB(i + nel)
880 vr = v1*e1x+ v2*e1y + v3*e1z
881 vs = v1*e2x+ v2*e2y + v3*e2z
882 suma=
max(sqrt(vr*vr + vs*vs) , em20)
891 vr = v1*e1x+ v2*e1y + v3*e1z
892 vs = v1*e2x+ v2*e2y + v3*e2z
893 suma=
max(sqrt(vr*vr + vs*vs) , em20)
903 IF (mlw /= 0 .AND. mlw /= 13)
THEN
909 IF (mlw /= 0 .AND. mlw /= 13)
THEN
914 IF (irep > 1 .AND. ilaw == 58)
THEN
916 IF (mlw /= 0 .AND. mlw /= 13)
THEN
922 IF (mlw /= 0 .AND. mlw /= 13)
THEN
932 dir1_1 = elbuf_tab(ng)%BUFLY(j)%DIRA(i)
933 dir1_2 = elbuf_tab(ng)%BUFLY(j)%DIRA(i + nel)
934 ilaw = elbuf_tab(ng)%BUFLY(j)%ILAW
942 vs = v1*e2x+ v2*e2y + v3*e2z
943 suma=
max(sqrt(vr*vr + vs*vs) , em20)
946 ELSEIF (irep == 2)
THEN
953 vr = v1*e1x+ v2*e1y + v3*e1z
954 vs = v1*e2x+ v2*e2y + v3*e2z
955 suma=
max(sqrt(vr*vr + vs*vs) , em20)
959 aa = elbuf_tab(ng)%BUFLY(j)%DIRB(i)
960 bb = elbuf_tab(ng)%BUFLY(j)%DIRB(i + nel)
964 vr = v1*e1x+ v2*e1y + v3*e1z
965 vs = v1*e2x+ v2*e2y + v3*e2z
966 suma=
max(sqrt(vr*vr + vs*vs) , em20)
969 ELSEIF (irep == 3)
THEN
978 vr = v1*e1x+ v2*e1y + v3*e1z
979 vs = v1*e2x+ v2*e2y + v3*e2z
980 suma=
max(sqrt(vr*vr + vs*vs) , em20)
984 aa = elbuf_tab(ng)%BUFLY(j)%DIRB(i)
985 bb = elbuf_tab(ng)%BUFLY(j)%DIRB(i + nel)
989 vr = v1*e1x+ v2*e1y + v3*e1z
990 vs = v1*e2x+ v2*e2y + v3*e2z
991 suma=
max(sqrt(vr*vr + vs*vs) , em20)
997 ELSEIF (irep == 4)
THEN
1006 vr = v1*e1x+ v2*e1y + v3*e1z
1007 vs = v1*e2x+ v2*e2y + v3*e2z
1008 suma=
max(sqrt(vr*vr + vs*vs) , em20)
1012 aa = elbuf_tab(ng)%BUFLY(j)%DIRB(i)
1013 bb = elbuf_tab(ng)%BUFLY(j)%DIRB(i + nel)
1018 vs = v1*e2x+ v2*e2y + v3*e2z
1019 suma=
max(sqrt(vr*vr + vs*vs) , em20)
1029 vs = v1*e2x+ v2*e2y + v3*e2z
1030 suma=
max(sqrt(vr*vr + vs*vs) , em20)
1040 IF (mlw /= 0 .AND. mlw /= 13)
THEN
1046 IF (mlw /= 0 .AND. mlw /= 13)
THEN
1051 IF (irep > 1 .AND. ilaw == 58)
THEN
1053 IF (mlw /= 0 .AND. mlw /= 13)
THEN
1059 IF (mlw /= 0 .AND. mlw /= 13)
THEN
1079 IF (nspmd == 1)
THEN
1095 IF (ispmd == 0.AND.len > 0)
THEN
1098 DO n=1,stat_numeltg_g
1105 IF(idel==0.OR.(idel==1.AND.ioff >=1))
THEN
1106 iprt = nint(wap0(j + 2))
1107 IF (iprt /= iprt0)
THEN
1108 IF (izipstrs == 0)
THEN
1109 WRITE(iugeo,
'(A)') delimit
1110 WRITE(iugeo,
'(A)')
'/INISH3/ORTH_LOC'
1112 .
'#------------------------ REPEAT --------------------------'
1114 .
'# SHELLID NIP NDIR'
1116 .
'#---------------------- END REPEAT ------------------------'
1117 WRITE(iugeo,
'(A)') delimit
1119 WRITE(line,
'(A)') delimit
1121 WRITE(line,
'(A)')
'/INISH3/ORTH_LOC'
1124 .
'#------------------------ REPEAT --------------------------'
1127 .
'# SHELLID NIP NDIR'
1130 .
'#---------------------- END REPEAT ------------------------'
1132 WRITE(line,
'(A)') delimit
1137 id = nint(wap0(j + 3))
1138 npt = nint(wap0(j + 4))
1139 npg = nint(wap0(j + 5))
1140 ish3n = nint(wap0(j + 6))
1142 ndir = nint(wap0(j + 8))
1143 irep = nint(wap0(j + 9))
1145 IF (igtyp == 9)
THEN
1149 angle1 = atan2(wap0(j + 2), wap0(j + 1))
1150 IF (flagdeg == 1) angle1=angle1*hundred80/pi
1151 IF (izipstrs == 0)
THEN
1152 WRITE(iugeo,
'(5I10)')id,npt,npg,ndir,flagdeg
1153 WRITE(iugeo,
'(1PE20.13)')angle1
1155 WRITE(line,
'(5I10)')id,npt,npg,ndir,flagdeg
1157 WRITE(line,
'(1PE20.13)')angle1
1161 ELSEIF (igtyp == 10 .OR. igtyp == 11 .OR. igtyp == 16 .OR.
1162 . igtyp == 17 .OR. igtyp == 51 .OR. igtyp == 52 )
THEN
1163 IF (izipstrs == 0)
THEN
1164 WRITE(iugeo,
'(5I10)')id,npt,npg,ndir,flagdeg
1166 WRITE(line,
'(5I10)')id,npt,npg,ndir,flagdeg
1172 IF (irep == 2 .OR. (irep > 2 .AND. ilaw == 58))
THEN
1174 angle1 = atan2(wap0(j + 2), wap0(j + 1))
1175 angle2 = atan2(wap0(j + 4), wap0(j + 3))
1176 angle2 = mod(angle2 - angle1,two*pi)
1177 IF (flagdeg == 1) angle1=angle1*hundred80/pi
1178 IF (flagdeg == 1) angle2=angle2*hundred80/pi
1179 IF (izipstrs == 0)
THEN
1180 WRITE(iugeo,
'(1P2E20.13)')angle1,angle2
1182 WRITE(line,
'(1P2E20.13)')angle1,angle2
1187 angle1 = atan2(wap0(j + 2), wap0(j + 1))
1188 IF (flagdeg == 1) angle1=angle1*hundred80/pi
1189 IF (izipstrs == 0)
THEN
1190 WRITE(iugeo,
'(1PE20.13)')angle1
1192 WRITE(line,
'(1PE20.13)')angle1
1198 ENDIF !
IF (igtyp == 9)