39 . SKIN_SCALAR,TAG_SKINS6,T6GPS,X ,
40 . NPF,TF,H3D_PART,IS_WRITTEN_SKIN,
41 . KEYWORD,NSKIN ,MAT_PARAM)
52#include "implicit_f.inc"
65 INTEGER IPARG(NPARG,*),IXS(NIXS,*),IPARTS(*),
66 . IXS10(6,*) ,TAG_SKINS6(*) ,NSKIN , NPF(*),H3D_PART(*),
68 TYPE (ELBUF_STRUCT_),
DIMENSION(NGROUP),
TARGET :: ELBUF_TAB
69 my_real,
INTENT(IN),
TARGET :: TF(*)
70 my_real,
INTENT(IN),
TARGET :: T6GPS(6,*),X(3,*)
71 my_real,
INTENT(OUT),
TARGET :: skin_scalar(*)
72 CHARACTER(LEN=NCHARLINE100):: KEYWORD
73 TYPE (MATPARAM_STRUCT_) ,
DIMENSION(NUMMAT) ,
INTENT(IN) :: MAT_PARAM
77 INTEGER I,ISOLNOD,ICS,NG,N,J
79 . MLW ,NEL ,NFT ,IAD ,ITY ,
80 . npt ,jale ,ismstr ,jeul ,jtur ,
81 . jthe ,jlag ,jmult ,jhbe ,jivf ,
82 . nvaux ,jpor ,kcvt ,jclose ,jplasol ,
83 . irep ,iint ,igtyp ,israt ,isrot ,
84 . icsen ,isorth ,isorthg ,ifailure,jsms ,
85 . nn,nn1,n1,iok_part(mvsiz),is_written_value(mvsiz)
86 INTEGER NC(10,MVSIZ),PWR(7),LL,IXSK(5,6*MVSIZ)
87 INTEGER FACES(4,6),NS(4),JJ,II,K1,K2,T3(3),T6(6),TIA4S(3,4)
88 INTEGER IFUNC(MAXFUNC),IDEB
89 INTEGER NPAR,NFUNC,MX,NSK,IL,IR,IS,IT,NFAIL,IFAIL,NSKI,NIPAR
90 my_real evar(3,mvsiz),value(mvsiz)
91 TYPE(buf_lay_) ,
POINTER :: BUFLY
92 TYPE(buf_fail_) ,
POINTER :: FBUF
93 DATA pwr/1,2,4,8,16,32,64/
116 2 mlw ,nel ,nft ,iad ,ity ,
117 3 npt ,jale ,ismstr ,jeul ,jtur ,
118 4 jthe ,jlag ,jmult ,jhbe ,jivf ,
119 5 nvaux ,jpor ,kcvt ,jclose ,jplasol ,
120 6 irep ,iint ,igtyp ,israt ,isrot ,
121 7 icsen ,isorth ,isorthg ,ifailure,jsms )
123 IF(mlw == 13 .OR. mlw == 0.OR.ity /= 1) cycle
125 IF (igtyp==6 .OR. igtyp==14 )
THEN
126 isolnod = iparg(28,ng)
143 IF(mod(ll,pwr(jj+1))/pwr(jj) == 0)
THEN
146 ixsk(1,nsk) = iparts(n)
147 ixsk(2,nsk) = nc(3,i)
148 ixsk(3,nsk) = nc(2,i)
149 ixsk(4,nsk) = nc(1,i)
150 ixsk(5,nsk) = ixsk(4,nsk)
154 IF(mod(ll,pwr(jj+1))/pwr(jj) == 0)
THEN
156 ixsk(1,nsk) = iparts(n)
157 ixsk(2,nsk) = nc(2,i)
158 ixsk(3,nsk) = nc(3,i)
159 ixsk(4,nsk) = nc(4,i)
160 ixsk(5,nsk) = ixsk(4,nsk)
164 IF(mod(ll,pwr(jj+1))/pwr(jj) == 0)
THEN
166 ixsk(1,nsk) = iparts(n)
167 ixsk(2,nsk) = nc(1,i)
168 ixsk(3,nsk) = nc(4,i)
169 ixsk(4,nsk) = nc(3,i)
170 ixsk(5,nsk) = ixsk(4,nsk)
174 IF(mod(ll,pwr(jj+1))/pwr(jj) == 0)
THEN
176 ixsk(1,nsk) = iparts(n)
177 ixsk(2,nsk) = nc(1,i)
178 ixsk(3,nsk) = nc(2,i)
179 ixsk(4,nsk) = nc(4,i)
180 ixsk(5,nsk) = ixsk(4,nsk)
183 ELSEIF(isolnod == 6)
THEN
184 ELSEIF(isolnod == 10)
THEN
192 nc(5:10,i) = ixs10(1:6,nn1)
200 IF(mod(ll,pwr(jj+1))/pwr(jj) == 0)
THEN
205 ixsk(1,nsk) = iparts(n)
206 t3(1:3) = t6(tia4s(1:3,j))
207 ixsk(2:4,nsk) = t3(1:3)
208 ixsk(5,nsk) = ixsk(4,nsk)
213 IF(mod(ll,pwr(jj+1))/pwr(jj) == 0)
THEN
220 ixsk(1,nsk) = h3d_part(iparts(n))
221 t3(1:3) = t6(tia4s(1:3,j))
222 ixsk(2:4,nsk) = t3(1:3)
223 ixsk(5,nsk) = ixsk(4,nsk)
228 IF(mod(ll,pwr(jj+1))/pwr(jj) == 0)
THEN
237 ixsk(1,nsk) = iparts(n)
238 t3(1:3) = t6(tia4s(1:3,j))
239 ixsk(2:4,nsk) = t3(1:3)
240 ixsk(5,nsk) = ixsk(4,nsk)
245 IF(mod(ll,pwr(jj+1))/pwr(jj) == 0)
THEN
253 ixsk(1,nsk) = iparts(n)
254 t3(1:3) = t6(tia4s(1:3,j))
255 ixsk(2:4,nsk) = t3(1:3)
256 ixsk(5,nsk) = ixsk(4,nsk)
264 nc(1:8,i) = ixs(2:9,n)
268 IF(mod(ll,pwr(jj+1))/pwr(jj) /= 0)cycle
270 ns(ii)=nc(faces(ii,jj),i)
275 IF(ns(k2)==ns(k1))ns(k2)=0
288 ixsk(1,nsk) = iparts(n)
289 ixsk(2:4,nsk) = ns(1:3)
293 ixsk(5,nsk) = ixsk(4,nsk)
305 bufly => elbuf_tab(ng)%BUFLY(il)
306 nfail = elbuf_tab(ng)%BUFLY(il)%NFAIL
307 fbuf => bufly%FAIL(ir,is,it)
311 nski =
min(nsk-ideb,mvsiz)
316 is_written_value(i) = 0
317 iok_part(i) = h3d_part(ixsk(1,i+ideb))
320 IF (keyword ==
'FLDZ/OUTER')
THEN
322 is_written_value(1:nski) = 1
324 IF (fbuf%FLOC(ifail)%ILAWF == 7)
THEN
325 npar = mat_param(mx)%FAIL(ifail)%NUPARAM
326 nfunc = mat_param(mx)%FAIL(ifail)%NFUNC
327 nipar = mat_param(mx)%FAIL(ifail)%NIPARAM
329 ifunc(i) = mat_param(mx)%FAIL(ifail)%IFUNC(i)
332 1 nski ,npar ,nfunc ,ifunc ,
333 2 npf ,tf ,mat_param(mx)%FAIL(ifail)%UPARAM,
334 3 evar ,
VALUE ,nipar ,mat_param(mx)%FAIL(ifail)%IPARAM,
335 4 bufly%LBUF(ir,is,it)%PLA)
340 skin_scalar(nskin+i) = value(i)
341 IF(iok_part(i) == 1 ) is_written_skin(nskin+i) = is_written_value(i)
344 ELSEIF (keyword ==
'FLDF/OUTER')
THEN
346 is_written_value(1:nski) = 1
348 IF (fbuf%FLOC(ifail)%ILAWF == 7)
THEN
349 npar = mat_param(mx)%FAIL(ifail)%NUPARAM
350 nipar = mat_param(mx)%FAIL(ifail)%NIPARAM
351 nfunc = mat_param(mx)%FAIL(ifail)%NFUNC
353 ifunc(i) = mat_param(mx)%FAIL(ifail)%IFUNC(i)
356 1 nski ,npar ,nfunc ,ifunc ,
357 2 npf ,tf ,mat_param(mx)%FAIL(ifail)%UPARAM,
358 3 evar ,
VALUE ,nipar ,mat_param(mx)%FAIL(ifail)%IPARAM,
359 4 bufly%LBUF(ir,is,it)%PLA)
364 skin_scalar(nskin+i) = value(i)
365 IF(iok_part(i) == 1 ) is_written_skin(nskin+i) = is_written_value(i)