40
41
42
43
44
45
46
47
48
50
51
52
53#include "implicit_f.inc"
54
55
56
57#include "mvsiz_p.inc"
58
59
60
61
62
63
64 INTEGER IRECT(4,*), NSV(*), CAND_E(*), CAND_N(*),
65 . JLT,IDT, NOINT, NSN, IGAP ,ITYP, NIN, INTTH
66 INTEGER IX1(MVSIZ), IX2(MVSIZ), IX3(MVSIZ), IX4(MVSIZ)
68 . x(3,*), gapv(*), gap_s(*), gap_m(*),curv_max(*),
69 . gap, gapmax, gapmin
70 my_real ,
INTENT(IN) :: dgapload ,drad
72 . x1(mvsiz), x2(mvsiz), x3(mvsiz
73 . y1(mvsiz), y2(mvsiz), y3(mvsiz), y4(mvsiz),
74 . z1(mvsiz), z2(mvsiz), z3(mvsiz), z4(mvsiz),
75 . xi(mvsiz), yi(mvsiz), zi(mvsiz), stif(mvsiz),
76 . gap_s_l(*),gap_m_l(*)
77
78
79
80 INTEGER I ,J ,IL, L, NN, IG,JFT,IADD
81
82
83 IF(igap==0)THEN
84 DO i=1,jlt
85 gapv(i)=
max(gap+dgapload,drad)
86 END DO
87 ELSEIF(igap == 3)THEN
88 iadd = 9
89 DO i=1,jlt
90 j = cand_n(i)
91 IF(j<=nsn) THEN
92 gapv(i)=gap_s(j)+gap_m(cand_e(i))
93 gapv(i)=
min(gap_s_l(j)+gap_m_l(cand_e(i)),gapv(i))
94 ELSE
95 ig = j-nsn
96 gapv(i)=xrem(9,ig)+gap_m(cand_e(i))
97 gapv(i)=
min(xrem(10,ig)+gap_m_l(cand_e(i)),gapv(i))
98 END IF
99 gapv(i)=
min(gapv(i),gapmax)
100 gapv(i)=
max(gapmin,gapv(i))
101 gapv(i)=
max(drad,gapv(i)+dgapload)
102 END DO
103 ELSE
104 DO i=1,jlt
105 j = cand_n(i)
106 IF(j<=nsn) THEN
107 gapv(i)=gap_s(j)+gap_m(cand_e(i))
108 ELSE
109 ig = j-nsn
110 gapv(i)=xrem(9,ig)+gap_m(cand_e(i))
111 END IF
112 gapv(i)=
min(gapv(i),gapmax)
113 gapv(i)=
max(gapmin,gapv(i))
114 gapv(i)=
max(drad,gapv(i)+dgapload)
115 END DO
116 END IF
117 DO i=1,jlt
118 j = cand_n(i)
119 IF(j<=nsn) THEN
120 ig = nsv(j)
121 xi(i) = x(1,ig)
122 yi(i) = x(2,ig)
123 zi(i) = x(3,ig)
124 ELSE
125 ig = j-nsn
126 xi(i) = xrem(1,ig)
127 yi(i) = xrem(2,ig)
128 zi(i) = xrem(3,ig)
129 ENDIF
130
131 l = cand_e(i)
132
133 ix1(i)=irect(1,l)
134 x1(i)=x(1,ix1(i))
135 y1(i)=x(2,ix1(i))
136 z1(i)=x(3,ix1(i))
137
138 ix2(i)=irect(2,l)
139 x2(i)=x(1,ix2(i))
140 y2(i)=x(2,ix2(i))
141 z2(i)=x(3,ix2(i))
142
143 ix3(i)=irect(3,l)
144 x3(i)=x(1,ix3(i))
145 y3(i)=x(2,ix3(i))
146 z3(i)=x(3,ix3(i))
147
148 ix4(i)=irect(4,l)
149 x4(i)=x(1,ix4(i))
150 y4(i)=x(2,ix4(i))
151 z4(i)=x(3,ix4(i))
152 ENDDO
153
154 IF(ityp == 7)THEN
155 DO i=1,jlt
156 gapv(i) = gapv(i) + curv_max(cand_e(i))
157 END DO
158 ENDIF
159
160 RETURN