31
32
33
34#include "implicit_f.inc"
35
36
37
38#include "com08_c.inc"
39#include "param_c.inc"
40
41
42
43
45 . xg(3), vg(3), arel(3),
46 . xframe(nxframe), vo(3), ao(3)
47
48
49
50 INTEGER N, K
51
53 . rot(9),rot0(9),rotdt05(9),rott05(9),
54 . omegax, omegay, omegaz, nn, cs, sn, ux, uy, uz,
55 . omegaxx, omegaxy, omegaxz, omegayy, omegayz, omegazz,
56 . o(3), om(3), w(3), dwdt(3), wom(3), ve(3), ae(3), ac(3), om2(3),
57 . dt05, drel(3), vrel(3), ag(3), vrrel(3), arrel(3)
58
59
60
61
62
63
64 o(1)=xframe(10)
65 o(2)=xframe(11)
66 o(3)=xframe(12)
67
68
69
70 w(1)=xframe(13)
71 w(2)=xframe(14)
72 w(3)=xframe(15)
73
74
75
76 om(1)=xg(1)-o(1)
77 om(2)=xg(2)-o(2)
78 om(3)=xg(3)-o(3)
79
80
81
82 dt05=0.5*dt1
83 om2(1)=om(1)-dt05*(vg(1)-vo(1))
84 om2(2)=om(2)-dt05*(vg(2)-vo(2))
85 om2(3)=om(3)-dt05*(vg(3)-vo(3))
86 wom(1)=w(2)*om2(3)-w(3)*om2(2)
87 wom(2)=w(3)*om2(1)-w(1)*om2(3)
88 wom(3)=w(1)*om2(2)-w(2)*om2(1)
89 ve(1)=vo(1)+wom(1)
90 ve(2)=vo(2)+wom(2)
91 ve(3)=vo(3)+wom(3)
92
93
94
95 vrel(1)=vg(1)-ve(1)
96 vrel(2)=vg(2)-ve(2)
97 vrel(3)=vg(3)-ve(3)
98
99
100
101 dwdt(1)=xframe(16)
102 dwdt(2)=xframe(17)
103 dwdt(3)=xframe(18)
104
105
106
107
108
109
110
111 wom(1)=w(2)*om(3)-w(3)*om(2)
112 wom(2)=w(3)*om(1)-w(1)*om(3)
113 wom(3)=w(1)*om(2)-w(2)*om(1)
114 ae(1)=ao(1)+dwdt(2)*om(3)-dwdt(3)*om(2)
115 . +w(2)*wom(3)-w(3)*wom(2)
116 ae(2)=ao(2)+dwdt(3)*om(1)-dwdt(1)*om(3)
117 . +w(3)*wom(1)-w(1)*wom(3)
118 ae(3)=ao(3)+dwdt(1)*om(2)-dwdt(2)*om(1)
119 . +w(1)*wom(2)-w(2)*wom(1)
120
121
122
123
124
125
126
127
128
129
130
131
132 ac(1)=2.*(w(2)*vrel(3)-w(3)*vrel(2))
133 ac(2)=2.*(w(3)*vrel(1)-w(1)*vrel(3))
134 ac(3)=2.*(w(1)*vrel(2)-w(2)*vrel(1))
135
136
137
138 arel(1)=arel(1)+ae(1)+ac(1)
139 arel(2)=arel(2)+ae(2)+ac(2)
140 arel(3)=arel(3)+ae(3)+ac(3)
141
142 999 CONTINUE
143 RETURN