31
32
33
34#include "implicit_f.inc"
35
36
37
38#include "impl1_c.inc"
39
40
41
42 INTEGER, INTENT(IN) :: ISMSTR
43 INTEGER, INTENT(IN) :: JLAG
44 INTEGER NEL
46 . offg(*),wxx(*),wyy(*),wzz(*)
47 DOUBLE PRECISION
48 . SAV(NEL,30)
49
50
51
52 INTEGER I, N
53
54 DOUBLE PRECISION
55 . , Y, Z
56
57
58
59
60
61 IF (ismdisp>0) THEN
62 ELSEIF(ismstr<=4.AND.ismstr/=3.AND.jlag>0)THEN
63 DO i=1,nel
64 IF(offg(i)>one)THEN
65
66 DO n=1,10
67 x=sav(i,n)
68 y=sav(i,n+10)
69 z=sav(i,n+20)
70 sav(i,n) = x - y*wzz(i) + z*wyy(i)
71 sav(i,n+10) = y - z*wxx(i) + x*wzz(i)
72 sav(i,n+20) = z - x*wyy(i) + y*wxx(i)
73 END DO
74 ENDIF
75 END DO
76 ELSEIF(ismstr==11)THEN
77 DO i=1,nel
78 IF(offg(i)>zero) THEN
79 DO n=1,10
80 x=sav(i,n)
81 y=sav(i,n+10)
82 z=sav(i,n+20)
83 sav(i,n) = x - y*wzz(i) + z*wyy(i)
84 sav(i,n+10) = y - z*wxx(i) + x*wzz(i)
85 sav(i,n+20) = z - x*wyy(i) + y*wxx(i)
86 END DO
88 END DO
89 ENDIF
90
91 RETURN
if(complex_arithmetic) id