108
109
110
113 USE elbufdef_mod
114 USE intbufdef_mod
118
119
120
121#include "implicit_f.inc"
122
123
124
125#include "units_c.inc"
126#include "param_c.inc"
127#include "scr15_c.inc"
128#include "scr17_c.inc"
129#include "com01_c.inc"
130#include "com04_c.inc"
131
132
133
134 INTEGER IPARI(NPARI,*), IXS(*),
135 . IXC(*), ITAB(*), MWA(*), IXTG(*), IKINE(*),
136 . IPARG(NPARG,*),
137 . KNOD2ELS(*), KNOD2ELC(*), KNOD2ELTG(*),
138 . NOD2ELS(*), NOD2ELC(*), (*),
139 . NPBY(NNPBY,*), LPBY(*), IPARTS(*), IPARTC(*), IPARTG(*)
140 TYPE(INTSTAMP_DATA), TARGET :: INTSTAMP(*)
141 TYPE(INTSTAMP_DATA),POINTER :: pINTSTAMP
143 . x(3,*), pm(*), geo(*), rwa(6,*),
144 . ms(*), in(*), v(3,*), vr(3,*), rby(nrby,*), skew(lskew,*),
145 . thk_part(*)
146 INTEGER NOM_OPT(LNOPT1,*),PTR_NOPT_INTER
147 TYPE(ELBUF_STRUCT_), DIMENSION(NGROUP) :: ELBUF_TAB
148 TYPE(INTBUF_STRUCT_) INTBUF_TAB(*)
149 TYPE(SCRATCH_STRUCT_) INSCR(*)
150
151
152
153
154
155 INTEGER N, JINSCR, , IWRN, I, I_MEM,
156 . RESORT
157 INTEGER NTY, STAT, ISTAMP, MULTIMP,LEN_FILNAM
159 . DIMENSION(:),ALLOCATABLE:: thksh4_var,thksh3_var,thknod
160 CHARACTER*2148 FILNAM
161 INTEGER ID
162 CHARACTER(LEN=NCHARTITLE) :: TITR
163
164 i_mem = 0
165 resort = 0
166
167 ALLOCATE (thksh4_var(numelc) ,stat=stat)
168 IF (stat /= 0)
CALL ancmsg(msgid=268,anmode=aninfo
169 . msgtype=msgerror,
170 . c1='THKSH4_VAR')
171 ALLOCATE (thksh3_var(numeltg) ,stat=stat)
172 IF (stat /= 0)
CALL ancmsg(msgid=268,anmode=aninfo,
173 . msgtype=msgerror,
174 . c1='THKSH3_VAR')
175 ALLOCATE (thknod(numnod) ,stat=stat)
176 IF (stat /= 0)
CALL ancmsg(msgid=268,anmode=aninfo,
177 . msgtype=msgerror,
178 . c1='THKNOD')
179 thksh4_var=zero
180 thksh3_var=zero
181 thknod =zero
182
183 CALL thickvar(elbuf_tab,iparg,thksh4_var,thksh3_var,thknod,
184 . ixc ,ixtg )
185
186 iwrn = 0
187 istamp=0
188 DO 100 n=1,ninter
189 resort = 0
190 nty=ipari(7,n)
191 IF (nty /= 21 .AND. nty /=23) GOTO 100
192
193 IF(nty==21) istamp=istamp+1
194
195 200 CONTINUE
196
197
198 IF (i_mem == 2)THEN
199 multimp =
max(ipari(23,n)+8,nint(ipari(23,n)*1.5))
201 i_mem = 0
202 ENDIF
203
204
205
206 jinscr=ipari(10,n)
207 ninti=n
208 id=nom_opt(1,ptr_nopt_inter+ninti)
210 . nom_opt(lnopt1-ltitr+1,ptr_nopt_inter+ninti),ltitr)
211
212 IF(istamp > 0)THEN
213 pintstamp => intstamp(istamp)
214 ELSE
215 NULLIFY(pintstamp)
216 ENDIF
217
219 1 intbuf_tab(n),inscr(ninti)%WA ,x ,ixs ,
220 2 ixc ,ixtg ,pm ,geo ,ipari(1,n),
221 3 ninti ,itab ,mwa ,rwa
222 4 ikine ,knod2els ,knod2elc
223 5 nod2elc ,nod2eltg ,
224 6 thksh4_var,thksh3_var ,thknod ,pintstamp ,skew
225 7 ms ,in ,v ,vr ,rby
226 8 npby ,lpby ,i_mem ,resort ,iparts ,
227 9 ipartc ,ipartg ,thk_part ,
id ,titr,
228 a nom_opt)
229 IF (i_mem /= 0) GOTO 200
230 100 CONTINUE
231
232 IF(iwrn/=0) THEN
235 OPEN(unit=iou2,file=filnam(1:len_filnam),status'UNKNOWN'
236 . form='FORMATTED')
237 WRITE(iou2,'(2A)')'#--1---|---2---|---3---|---4---|',
238 . '---5---|---6---|---7---|---8---|'
239 WRITE(iou2,'(A)')'# NEW NODES COORDINATES'
240 WRITE(iou2,'(2A)')'#--1---|---2---|---3---|---4---|',
241 . '---5---|---6---|---7---|---8---|'
242 WRITE(iou2,'(I10,1P3G20.13)')
243 . (itab(i),x(1,i),x(2,i),x(3,i),i=1,numnod)
244 WRITE(iou2,'(2A)')'#--1---|---2---|---3---|---4---|',
245 . '---5---|---6---|---7---|---8---|'
246 WRITE(iou2,'(A)')'# END OF NEW NODES COORDINATES'
247 WRITE(iou2,'(2A)')'#--1---|---2---|---3---|---4---|',
248 . '---5---|---6---|---7---|---8---|'
249 CLOSE(unit=iou2)
250 ENDIF
251
252 DEALLOCATE (thksh4_var,thksh3_var)
253
254 RETURN
subroutine inint3_thkvar(intbuf_tab, inscr, x, ixs, ixc, ixtg, pm, geo, ipari, numint, itab, mwa, rwa, iwrn, ikine, knod2els, knod2elc, knod2eltg, nod2els, nod2elc, nod2eltg, thksh4_var, thksh3_var, thknod, intstamp, skew, ms, in, v, vr, rby, npby, lpby, i_mem, resort, iparts, ipartc, ipartg, thk_part, id, titr, nom_opt)
subroutine thickvar(elbuf_tab, iparg, thksh4_var, thksh3_var, thknod, ixc, ixtg)
character(len=outfile_char_len) outfile_name
integer, parameter nchartitle
subroutine ancmsg(msgid, msgtype, anmode, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, r1, r2, r3, r4, r5, r6, r7, r8, r9, c1, c2, c3, c4, c5, c6, c7, c8, c9, prmode)
subroutine upgrade_multimp(ni, multimp_parameter, intbuf_tab)