OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
h3d_skin_ixskin.F
Go to the documentation of this file.
1Copyright> OpenRadioss
2Copyright> Copyright (C) 1986-2025 Altair Engineering Inc.
3Copyright>
4Copyright> This program is free software: you can redistribute it and/or modify
5Copyright> it under the terms of the GNU Affero General Public License as published by
6Copyright> the Free Software Foundation, either version 3 of the License, or
7Copyright> (at your option) any later version.
8Copyright>
9Copyright> This program is distributed in the hope that it will be useful,
10Copyright> but WITHOUT ANY WARRANTY; without even the implied warranty of
11Copyright> MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12Copyright> GNU Affero General Public License for more details.
13Copyright>
14Copyright> You should have received a copy of the GNU Affero General Public License
15Copyright> along with this program. If not, see <https://www.gnu.org/licenses/>.
16Copyright>
17Copyright>
18Copyright> Commercial Alternative: Altair Radioss Software
19Copyright>
20Copyright> As an alternative to this open-source version, Altair also offers Altair Radioss
21Copyright> software under a commercial license. Contact Altair to discuss further if the
22Copyright> commercial version may interest you: https://www.altair.com/radioss/.
23!||====================================================================
24!|| h3d_skin_ixskin ../engine/source/output/h3d/h3d_results/h3d_skin_ixskin.F
25!||--- called by ------------------------------------------------------
26!|| genh3d ../engine/source/output/h3d/h3d_results/genh3d.F
27!||--- calls -----------------------------------------------------
28!|| h3d_pre_skin_ixskin ../engine/source/output/h3d/h3d_results/h3d_skin_ixskin.F
29!|| h3d_sol_skin_ixskin ../engine/source/output/h3d/h3d_results/h3d_sol_skin_ixskin.F
30!|| initbuf ../engine/share/resol/initbuf.F
31!||--- uses -----------------------------------------------------
32!|| elbufdef_mod ../common_source/modules/mat_elem/elbufdef_mod.F90
33!|| element_mod ../common_source/modules/elements/element_mod.F90
34!|| h3d_inc_mod ../engine/share/modules/h3d_inc_mod.F
35!|| initbuf_mod ../engine/share/resol/initbuf.F
36!|| loads_mod ../common_source/modules/loads/loads_mod.F90
37!|| pblast_mod ../common_source/modules/loads/pblast_mod.F90
38!||====================================================================
39 SUBROUTINE h3d_skin_ixskin(ELBUF_TAB,IPARG,IPARTS,IXS,IXS10,
40 . ITAB ,IXSKIN ,TAG_SKINS6,IBCL ,
41 . ILOADP,LLOADP ,NODAL_IPART,IMAPSKP,
42 . LOADS,PBLAST )
43C-----------------------------------------------
44C M o d u l e s
45C-----------------------------------------------
46 USE initbuf_mod
47 USE elbufdef_mod
48 USE h3d_inc_mod
49 USE loads_mod
50 USE pblast_mod
51 use element_mod , only : nixs,nixq
52C-----------------------------------------------
53C I m p l i c i t T y p e s
54C-----------------------------------------------
55#include "implicit_f.inc"
56C-----------------------------------------------
57C C o m m o n B l o c k s
58C-----------------------------------------------
59#include "com01_c.inc"
60#include "com04_c.inc"
61#include "param_c.inc"
62
63C-----------------------------------------------
64C D u m m y A r g u m e n t s
65C-----------------------------------------------
66 INTEGER, DIMENSION(NUMSKINP0), INTENT(IN) :: IMAPSKP
67 INTEGER IPARG(NPARG,*),IXS(NIXS,*),IPARTS(*),ITAB(*),IXSKIN(NIXQ,*),
68 . IXS10(6,*) ,TAG_SKINS6(*),IBCL(*),ILOADP(*),LLOADP(*),
69 . nodal_ipart(*)
70 TYPE (ELBUF_STRUCT_), DIMENSION(NGROUP), TARGET :: ELBUF_TAB
71 TYPE (LOADS_) , INTENT(IN) :: LOADS
72 TYPE (PBLAST_),INTENT(IN) :: PBLAST
73C-----------------------------------------------
74C L o c a l V a r i a b l e s
75C-----------------------------------------------
76 INTEGER I, NSKIN, ISOLNOD, ICS, NG, N
77 INTEGER
78 . MLW ,NEL ,NFT ,IAD ,ITY ,
79 . npt ,jale ,ismstr ,jeul ,jtur ,
80 . jthe ,jlag ,jmult ,jhbe ,jivf ,
81 . nvaux ,jpor ,kcvt ,jclose ,jplasol ,
82 . irep ,iint ,igtyp ,israt ,isrot ,
83 . icsen ,isorth ,isorthg ,ifailure,jsms ,
84 . nn,nn1,n1,idb
85C-----------------------------------------------
86 nskin =0
87 IF (numskin> numskinp) THEN
88 DO ng=1,ngroup
89 isolnod = iparg(28,ng)
90 ics = iparg(17,ng)
91 CALL initbuf(iparg ,ng ,
92 2 mlw ,nel ,nft ,iad ,ity ,
93 3 npt ,jale ,ismstr ,jeul ,jtur ,
94 4 jthe ,jlag ,jmult ,jhbe ,jivf ,
95 5 nvaux ,jpor ,kcvt ,jclose ,jplasol ,
96 6 irep ,iint ,igtyp ,israt ,isrot ,
97 7 icsen ,isorth ,isorthg ,ifailure,jsms )
98!
99 IF(mlw == 13 .OR. mlw == 0) cycle
100C-----------------------------------------------
101C THICK-SHELL
102C-----------------------------------------------
103! 8--------------7
104! / | /|
105! 5--------------|6
106! | | | |
107! | 4-----------|-3
108! | / |/
109! 1--------------2
110 IF (ity == 1.AND.(igtyp==20 .OR. igtyp==21 .OR. igtyp==22)) THEN
111
112C-------- grp skin_inf first
113 DO i=1,nel
114 n = i + nft
115 ixskin(1,nskin+i) = iparts(n)
116 ixskin(7,nskin+i) = nskin+i
117 END DO
118 IF (jhbe==14) THEN
119 SELECT CASE (ics)
120 CASE(1)
121 DO i=1,nel
122 n = i + nft
123C-----------skin_inf 1,4,8,5
124 ixskin(2,nskin+i) = itab(ixs(2,n))
125 ixskin(3,nskin+i) = itab(ixs(5,n))
126 ixskin(4,nskin+i) = itab(ixs(9,n))
127 ixskin(5,nskin+i) = itab(ixs(6,n))
128 ixskin(6,nskin+i) = ixs(nixs-1,n)
129c IXSKIN(7,NSKIN+I) = IXS(NIXS,N) +3
130 END DO
131 CASE(10)
132 DO i=1,nel
133 n = i + nft
134C-----------skin_inf 1,2,3,4
135 ixskin(2,nskin+i) = itab(ixs(2,n))
136 ixskin(3,nskin+i) = itab(ixs(3,n))
137 ixskin(4,nskin+i) = itab(ixs(4,n))
138 ixskin(5,nskin+i) = itab(ixs(5,n))
139 ixskin(6,nskin+i) = ixs(nixs-1,n)
140c IXSKIN(7,NSKIN+I) = IXS(NIXS,N) +1
141 ENDDO
142 CASE(100)
143 DO i=1,nel
144 n = i + nft
145C-----------skin_inf 1,5,6,2
146 ixskin(2,nskin+i) = itab(ixs(2,n))
147 ixskin(3,nskin+i) = itab(ixs(6,n))
148 ixskin(4,nskin+i) = itab(ixs(7,n))
149 ixskin(5,nskin+i) = itab(ixs(3,n))
150 ixskin(6,nskin+i) = ixs(nixs-1,n)
151c IXSKIN(7,NSKIN+I) = IXS(NIXS,N) +5
152 END DO
153 END SELECT
154 ELSEIF (isolnod==6) THEN ! penta
155 DO i=1,nel
156 n = i + nft
157C-----------skin_inf 1,2,3,4
158 ixskin(2,nskin+i) = itab(ixs(2,n))
159 ixskin(3,nskin+i) = itab(ixs(3,n))
160 ixskin(4,nskin+i) = itab(ixs(4,n))
161 ixskin(5,nskin+i) = itab(ixs(4,n))
162 ixskin(6,nskin+i) = ixs(nixs-1,n)
163c IXSKIN(7,NSKIN+I) = IXS(NIXS,N) + 1
164 ENDDO
165C---------
166 ELSE ! hexa 15,16
167 DO i=1,nel
168 n = i + nft
169C-----------skin_inf 1,2,3,4
170 ixskin(2,nskin+i) = itab(ixs(2,n))
171 ixskin(3,nskin+i) = itab(ixs(3,n))
172 ixskin(4,nskin+i) = itab(ixs(4,n))
173 ixskin(5,nskin+i) = itab(ixs(5,n))
174 ixskin(6,nskin+i) = ixs(nixs-1,n)
175c IXSKIN(7,NSKIN+I) = IXS(NIXS,N) + 1
176 ENDDO
177 END IF
178 nskin = nskin + nel
179C-------- grp skin_sup
180 DO i=1,nel
181 n = i + nft
182 ixskin(1,nskin+i) = iparts(n)
183 ixskin(7,nskin+i) = nskin+i
184 END DO
185 IF (jhbe==14) THEN
186 SELECT CASE (ics)
187 CASE(1)
188 DO i=1,nel
189 n = i + nft
190C-----------skin_sup 2,3,7,6
191 ixskin(2,nskin+i) = itab(ixs(3,n))
192 ixskin(3,nskin+i) = itab(ixs(4,n))
193 ixskin(4,nskin+i) = itab(ixs(8,n))
194 ixskin(5,nskin+i) = itab(ixs(7,n))
195 ixskin(6,nskin+i) = ixs(nixs-1,n)
196c IXSKIN(7,NSKIN+I) = IXS(NIXS,N) +4
197 END DO
198 CASE(10)
199 DO i=1,nel
200 n = i + nft
201C-----------skin_sup 5,6,7,8
202 ixskin(2:5,nskin+i) = itab(ixs(6:9,n))
203 ixskin(6,nskin+i) = ixs(nixs-1,n)
204c IXSKIN(7,NSKIN+I) = IXS(NIXS,N) +2
205 ENDDO
206 CASE(100)
207 DO i=1,nel
208 n = i + nft
209C-----------skin_sup 4,8,7,3
210 ixskin(2,nskin+i) = itab(ixs(5,n))
211 ixskin(3,nskin+i) = itab(ixs(9,n))
212 ixskin(4,nskin+i) = itab(ixs(8,n))
213 ixskin(5,nskin+i) = itab(ixs(4,n))
214 ixskin(6,nskin+i) = ixs(nixs-1,n)
215c IXSKIN(7,NSKIN+I) = IXS(NIXS,N) +6
216 END DO
217 END SELECT
218 ELSEIF (isolnod==6) THEN ! penta
219 DO i=1,nel
220 n = i + nft
221C-----------skin_sup 5,6,7,8
222 ixskin(2:4,nskin+i) = itab(ixs(6:8,n))
223 ixskin(5,nskin+i) = ixskin(4,nskin+i)
224 ixskin(6,nskin+i) = ixs(nixs-1,n)
225c IXSKIN(7,NSKIN+I) = IXS(NIXS,N) + IXS(NIXS,N)
226 ENDDO
227 ELSE ! 15,16
228 DO i=1,nel
229 n = i + nft
230C-----------skin_sup 5,6,7,8
231 ixskin(2:5,nskin+i) = itab(ixs(6:9,n))
232 ixskin(6,nskin+i) = ixs(nixs-1,n)
233c IXSKIN(7,NSKIN+I) = IXS(NIXS,N) + IXS(NIXS,N)
234 ENDDO
235 END IF
236 nskin = nskin + nel
237C-----------------------------------------------
238 ENDIF !IF (ITY == 1.AND.(IGTYP==20
239 END DO ! NG=1,NGROUP
240 END IF !(NUMSKIN> NUMSKINP) THEN
241C------SOLID elements
242 nft = nskin
243 IF (numskin> (nskin+numskinp)) THEN
244 CALL h3d_sol_skin_ixskin(elbuf_tab,iparg,iparts,ixs,ixs10,
245 . ixskin ,tag_skins6,nskin )
246 DO i=nft+1,nskin
247 ixskin(2:5,i) = itab(ixskin(2:5,i))
248 END DO
249 END IF !(NUMSKIN> (NSKIN+NUMSKINP)) THEN
250C------to show pressure
251 nft = nskin
252 IF (numskinp>0) THEN
253 CALL h3d_pre_skin_ixskin(nodal_ipart,ibcl ,iloadp,lloadp,
254 . ixskin ,nskin ,imapskp,loads,pblast )
255 DO i=nft+1,nskin
256 ixskin(2:5,i) = itab(ixskin(2:5,i))
257 END DO
258 END IF
259C-----------
260 RETURN
261 END
262!||====================================================================
263!|| h3d_skin_dim ../engine/source/output/h3d/h3d_results/h3d_skin_ixskin.F
264!||--- called by ------------------------------------------------------
265!|| lech3d ../engine/source/output/h3d/h3d_build_fortran/lech3d.F
266!||--- calls -----------------------------------------------------
267!|| h3d_skin_pre_dim ../engine/source/output/h3d/h3d_results/h3d_skin_ixskin.F
268!|| h3d_skin_sol_dim ../engine/source/output/h3d/h3d_results/h3d_skin_ixskin.F
269!|| h3d_skin_tsh_dim ../engine/source/output/h3d/h3d_results/h3d_skin_ixskin.F
270!|| spmd_allglob_isum9 ../engine/source/mpi/generic/spmd_allglob_isum9.F
271!||--- uses -----------------------------------------------------
272!|| loads_mod ../common_source/modules/loads/loads_mod.F90
273!|| pblast_mod ../common_source/modules/loads/pblast_mod.F90
274!||====================================================================
275 SUBROUTINE h3d_skin_dim(IPARG ,NUMSKIN, NUMSKING,TAG_SKINS6,IBCL,
276 . ILOADP,LLOADP ,LOADS,NUMSKINP0,NUMSKINP,IFLAG,PBLAST )
277C-----------------------------------------------
278C M o d u l e s
279C-----------------------------------------------
280 USE loads_mod
281 USE pblast_mod
282C-----------------------------------------------
283C I m p l i c i t T y p e s
284C-----------------------------------------------
285#include "implicit_f.inc"
286C-----------------------------------------------
287C C o m m o n B l o c k s
288C-----------------------------------------------
289#include "com01_c.inc"
290C-----------------------------------------------
291C D u m m y A r g u m e n t s
292C-----------------------------------------------
293 INTEGER ,INTENT(OUT) :: NUMSKINP0
294 INTEGER NUMSKIN, NUMSKING ,IPARG(*),TAG_SKINS6(*),
295 . IBCL(*),ILOADP(*),LLOADP(*),NUMSKINP,IFLAG
296 TYPE (LOADS_) , INTENT(IN) :: LOADS
297 TYPE (PBLAST_),INTENT(IN) :: PBLAST
298C-----------------------------------------------
299C L o c a l V a r i a b l e s
300C-----------------------------------------------
301 INTEGER LEN, N0, NUMSKIN0
302
303C-----------------------------------------------
304 NUMSKIN = 0
305C--- thick-shell first, solid after
306 IF (iflag==1.OR.iflag==3) THEN
307 CALL h3d_skin_tsh_dim(iparg ,tag_skins6, numskin)
308 CALL h3d_skin_sol_dim(iparg ,tag_skins6, numskin)
309 END IF
310C--- followed by pressure: pblast, pfluid,force...
311 n0 = numskin
312 numskin0 = numskin
313C------!!!!create NODAL_IPART(numnod) before
314 IF (iflag>1) CALL h3d_skin_pre_dim (ibcl,iloadp,lloadp,loads, numskin0,numskin,pblast)
315 numskinp =numskin- n0
316 numskinp0=numskin0- n0
317C
318 len = 1
319 IF (nspmd>1) THEN
320 numsking = numskin
321 CALL spmd_allglob_isum9(numsking,len)
322 ELSE
323 numsking = numskin
324 END IF
325C-----------
326 RETURN
327 END
328!||====================================================================
329!|| h3d_skin_tsh_dim ../engine/source/output/h3d/h3d_results/h3d_skin_ixskin.F
330!||--- called by ------------------------------------------------------
331!|| h3d_skin_dim ../engine/source/output/h3d/h3d_results/h3d_skin_ixskin.F
332!||--- calls -----------------------------------------------------
333!|| initbuf ../engine/share/resol/initbuf.F
334!||--- uses -----------------------------------------------------
335!|| initbuf_mod ../engine/share/resol/initbuf.F
336!||====================================================================
337 SUBROUTINE h3d_skin_tsh_dim(IPARG ,TAG_SKINS6, NUMSKIN)
338C-----------------------------------------------
339C M o d u l e s
340C-----------------------------------------------
341 USE initbuf_mod
342C-----------------------------------------------
343C I m p l i c i t T y p e s
344C-----------------------------------------------
345#include "implicit_f.inc"
346C-----------------------------------------------
347C C o m m o n B l o c k s
348C-----------------------------------------------
349#include "param_c.inc"
350#include "com01_c.inc"
351C-----------------------------------------------
352C D u m m y A r g u m e n t s
353C-----------------------------------------------
354C REAL
355 INTEGER IPARG(NPARG,*),NUMSKIN, TAG_SKINS6(*)
356C-----------------------------------------------
357C L o c a l V a r i a b l e s
358C-----------------------------------------------
359 INTEGER NG,
360 . MLW ,NEL ,NFT ,IAD ,ITY ,
361 . NPT ,JALE ,ISMSTR ,JEUL ,JTUR ,
362 . JTHE ,JLAG ,JMULT ,JHBE ,JIVF ,
363 . nvaux ,jpor ,kcvt ,jclose ,jplasol ,
364 . irep ,iint ,igtyp ,israt ,isrot ,
365 . icsen ,isorth ,isorthg ,ifailure,jsms ,
366 . nn,ics,isolnod
367C-----------------------------------------------
368 DO ng=1,ngroup
369 CALL initbuf(iparg ,ng ,
370 2 mlw ,nel ,nft ,iad ,ity ,
371 3 npt ,jale ,ismstr ,jeul ,jtur ,
372 4 jthe ,jlag ,jmult ,jhbe ,jivf ,
373 5 nvaux ,jpor ,kcvt ,jclose ,jplasol ,
374 6 irep ,iint ,igtyp ,israt ,isrot ,
375 7 icsen ,isorth ,isorthg ,ifailure,jsms )
376!
377 IF(mlw == 13 .OR. mlw == 0.OR.ity /= 1) cycle
378C------ possible to remove(w/ TAG_SKINS6) case of several layers in mesh (even not recommended)
379 IF (igtyp==20 .OR. igtyp==21 .OR. igtyp==22) THEN
380 numskin = numskin + 2*nel
381 ENDIF !IF (IGTYP==20
382 END DO ! NG=1,NGROUP
383C-----------
384 RETURN
385 END
386!||====================================================================
387!|| h3d_skin_sol_dim ../engine/source/output/h3d/h3d_results/h3d_skin_ixskin.F
388!||--- called by ------------------------------------------------------
389!|| h3d_skin_dim ../engine/source/output/h3d/h3d_results/h3d_skin_ixskin.F
390!||--- calls -----------------------------------------------------
391!|| initbuf ../engine/share/resol/initbuf.F
392!||--- uses -----------------------------------------------------
393!|| initbuf_mod ../engine/share/resol/initbuf.F
394!||====================================================================
395 SUBROUTINE h3d_skin_sol_dim(IPARG ,TAG_SKINS6, NUMSKIN)
396C-----------------------------------------------
397C M o d u l e s
398C-----------------------------------------------
399 USE initbuf_mod
400C-----------------------------------------------
401C I m p l i c i t T y p e s
402C-----------------------------------------------
403#include "implicit_f.inc"
404C-----------------------------------------------
405C C o m m o n B l o c k s
406C-----------------------------------------------
407#include "param_c.inc"
408#include "com01_c.inc"
409C-----------------------------------------------
410C D u m m y A r g u m e n t s
411C-----------------------------------------------
412C REAL
413 INTEGER IPARG(NPARG,*),NUMSKIN, TAG_SKINS6(*)
414C-----------------------------------------------
415C L o c a l V a r i a b l e s
416C-----------------------------------------------
417 INTEGER I, NG, N,
418 . MLW ,NEL ,NFT ,IAD ,ITY ,
419 . NPT ,JALE ,ISMSTR ,JEUL ,JTUR ,
420 . JTHE ,JLAG ,JMULT ,JHBE ,JIVF ,
421 . nvaux ,jpor ,kcvt ,jclose ,jplasol ,
422 . irep ,iint ,igtyp ,israt ,isrot ,
423 . icsen ,isorth ,isorthg ,ifailure,jsms ,
424 . nn,ics,isolnod,nn1,jj,ii,k1,k2,nf(3),nskin2,idb
425 INTEGER FACES(4, 6), PWR(7), LL
426 DATA PWR/1,2,4,8,16,32,64/
427 DATA FACES/4,3,2,1,
428 . 5,6,7,8,
429 . 1,2,6,5,
430 . 3,4,8,7,
431 . 2,3,7,6,
432 . 1,5,8,4/
433C----tetra4:-------------------------------------------
434c N8=N4 FACES : 2 2 1 1
435c N7=N3 4 3 3 4
436c N6=N3 1 1 3 4
437c N5=N4 2 2 4 3
438c N4=N2 1 2 3 3
439c N3=N2 1 4 4 2
440C-----------------------------------------------
441 DO ng=1,ngroup
442 CALL initbuf(iparg ,ng ,
443 2 mlw ,nel ,nft ,iad ,ity ,
444 3 npt ,jale ,ismstr ,jeul ,jtur ,
445 4 jthe ,jlag ,jmult ,jhbe ,jivf ,
446 5 nvaux ,jpor ,kcvt ,jclose ,jplasol ,
447 6 irep ,iint ,igtyp ,israt ,isrot ,
448 7 icsen ,isorth ,isorthg ,ifailure,jsms )
449!
450 IF(mlw == 13 .OR. mlw == 0.OR.ity /= 1) cycle
451C------
452 IF (igtyp==6 .OR. igtyp==14 ) THEN
453 isolnod = iparg(28,ng)
454 ics = iparg(17,ng)
455 IF(isolnod == 4)THEN
456!$OMP SIMD PRIVATE(JJ,N,LL) REDUCTION(+:NUMSKIN)
457 DO i=1,nel
458 n = i + nft
459 ll=tag_skins6(n)
460 DO jj=3,6
461 IF(mod(ll,pwr(jj+1))/pwr(jj) /= 0)cycle
462 numskin = numskin + 1
463 END DO
464 ENDDO
465 ELSEIF(isolnod == 6)THEN
466 ELSEIF(isolnod == 10)THEN
467!$OMP SIMD PRIVATE(JJ,N,LL) REDUCTION(+:NUMSKIN)
468 DO i=1,nel
469 n = i + nft
470 ll=tag_skins6(n)
471 DO jj=3,6
472 IF(mod(ll,pwr(jj+1))/pwr(jj) /= 0)cycle
473 numskin = numskin + 4
474 END DO
475 ENDDO
476 ELSE
477!$OMP SIMD PRIVATE(JJ,N,LL) REDUCTION(+:NUMSKIN)
478 DO i=1,nel
479 n = i + nft
480 ll=tag_skins6(n)
481 DO jj=1,6
482 IF(mod(ll,pwr(jj+1))/pwr(jj) /= 0)cycle
483 numskin = numskin + 1
484 END DO
485 ENDDO
486 ENDIF
487 ENDIF !IF (IGTYP==
488 END DO ! NG=1,NGROUP
489C-----------
490 RETURN
491 END
492!||====================================================================
493!|| h3d_skin_pre_dim ../engine/source/output/h3d/h3d_results/h3d_skin_ixskin.F
494!||--- called by ------------------------------------------------------
495!|| h3d_skin_dim ../engine/source/output/h3d/h3d_results/h3d_skin_ixskin.F
496!||--- uses -----------------------------------------------------
497!|| loads_mod ../common_source/modules/loads/loads_mod.F90
498!|| pblast_mod ../common_source/modules/loads/pblast_mod.F90
499!|| pinchtype_mod ../common_source/modules/pinchtype_mod.F
500!||====================================================================
501 SUBROUTINE h3d_skin_pre_dim(IB ,ILOADP ,LLOADP ,LOADS, NSKIN0,NSKIN,PBLAST)
502C-----------------------------------------------
503C M o d u l e s
504C-----------------------------------------------
505 USE pinchtype_mod
506 USE loads_mod
507 USE pblast_mod
508C-----------------------------------------------
509C I m p l i c i t T y p e s
510C-----------------------------------------------
511#include "implicit_f.inc"
512#include "param_c.inc"
513C-----------------------------------------------
514C C o m m o n B l o c k s
515C-----------------------------------------------
516#include "com04_c.inc"
517#include "tabsiz_c.inc"
518C-----------------------------------------------
519C E x t e r n a l F u n c t i o n s
520C-----------------------------------------------
521C-----------------------------------------------,
522C D u m m y A r g u m e n t s
523C-----------------------------------------------
524 INTEGER LLOADP(SLLOADP),NSKIN,NSKIN0
525 INTEGER ILOADP(SIZLOADP,*),IB(NIBCLD,*)
526 TYPE (LOADS_) , INTENT(IN) :: LOADS
527 TYPE(PBLAST_),INTENT(IN) :: PBLAST
528C-----------------------------------------------
529C L o c a l V a r i a b l e s
530C-----------------------------------------------
531 INTEGER NL, N1, N2, N3, N4, J,
532 . IAD ,NP ,IFUNC ,NPRES ,N,NSKIN_I,NSKINP0,IERR,IXST,SHIFT
533 INTEGER, DIMENSION(:), ALLOCATABLE :: ITAGN
534 INTEGER, DIMENSION(:,:), ALLOCATABLE :: IRECT
535C=======================================================================
536C-----Force (pressure) first
537 nskin_i = nskin
538 DO nl=1,nconld-nploadpinch
539 n1 = ib(1,nl)
540 n2 = ib(2,nl)
541 n3 = ib(3,nl)
542 n4 = ib(4,nl)
543C
544 IF (n1>0.AND.n2>0.AND.n3>0.AND.n4/=-1) nskin = nskin + 1
545 END DO
546C----------load_pressure
547 shift = nloadp_f+pblast%NLOADP_B
548 DO nl=1+shift,nloadp_hyd+shift
549 iad = iloadp(4,nl)
550 DO n=1, iloadp(1,nl)/4
551 n1 = lloadp(iad+4*(n-1))
552 n2 = lloadp(iad+4*(n-1)+1)
553 n3 = lloadp(iad+4*(n-1)+2)
554 n4 = lloadp(iad+4*(n-1)+3)
555 IF (n1>0.AND.n2>0.AND.n3>0) nskin = nskin + 1
556 ENDDO
557 END DO
558C---------pfluid+pblast
559 DO nl=1,nloadp_f+pblast%NLOADP_B
560 iad = iloadp(4,nl)
561 DO n=1, iloadp(1,nl)/4
562 n1 = lloadp(iad+4*(n-1))
563 n2 = lloadp(iad+4*(n-1)+1)
564 n3 = lloadp(iad+4*(n-1)+2)
565 n4 = lloadp(iad+4*(n-1)+3)
566 IF (n1>0.AND.n2>0.AND.n3>0) nskin = nskin + 1
567 ENDDO
568 END DO
569C
570 DO nl = 1,loads%NLOAD_CYL
571 DO n = 1,loads%LOAD_CYL(nl)%NSEG
572 n1 = loads%LOAD_CYL(nl)%SEGNOD(n,1)
573 n2 = loads%LOAD_CYL(nl)%SEGNOD(n,2)
574 n3 = loads%LOAD_CYL(nl)%SEGNOD(n,3)
575 n4 = loads%LOAD_CYL(nl)%SEGNOD(n,4)
576 IF (n1>0.AND.n2>0.AND.n3>0) nskin = nskin + 1
577 ENDDO
578 END DO
579C
580 nskin0 = nskin
581 nskinp0 = nskin0 - nskin_i
582 IF (nskinp0 > (nconld-nploadpinch)) THEN
583 ALLOCATE(irect(4,nskinp0),itagn(numnod),stat=ierr)
584C
585 np = 0
586 itagn = 0
587 DO nl=1,nconld-nploadpinch
588 n1 = ib(1,nl)
589 n2 = ib(2,nl)
590 n3 = ib(3,nl)
591 n4 = ib(4,nl)
592C
593 IF (n1==0.OR.n2==0.OR.n3==0.OR.n4==-1) cycle
594 IF (n4==0) n4 = n3
595 np = np +1
596 itagn(n1) = 1
597 itagn(n2) = 1
598 itagn(n3) = 1
599 itagn(n4) = 1
600 irect(1:4,np) = ib(1:4,nl)
601 END DO
602C----add only not existing
603 shift = nloadp_f+pblast%NLOADP_B
604 DO nl=1+shift,nloadp_hyd+shift
605 iad = iloadp(4,nl)
606 DO n=1, iloadp(1,nl)/4
607 n1 = lloadp(iad+4*(n-1))
608 n2 = lloadp(iad+4*(n-1)+1)
609 n3 = lloadp(iad+4*(n-1)+2)
610 n4 = lloadp(iad+4*(n-1)+3)
611 IF (n1==0.OR.n2==0.OR.n3==0) cycle
612 IF (n4==0) n4 = n3
613 IF(itagn(n1)+itagn(n2)+itagn(n3)+itagn(n4)<4) THEN
614 np = np +1
615 itagn(n1) = 1
616 itagn(n2) = 1
617 itagn(n3) = 1
618 itagn(n4) = 1
619 irect(1,np) = n1
620 irect(2,np) = n2
621 irect(3,np) = n3
622 irect(4,np) = n4
623 ELSE
624 ixst = 0
625 j = 0
626 DO WHILE (ixst==0 .AND. j < np)
627 j = j + 1
628 IF (n1 /= irect(1,j)) cycle
629 IF (n2 /= irect(2,j)) cycle
630 IF (n3 /= irect(3,j)) cycle
631 IF (n4 /= irect(4,j)) cycle
632 ixst = 1
633 END DO
634 IF (ixst == 0 )THEN
635 np = np +1
636 itagn(n1) = 1
637 itagn(n2) = 1
638 itagn(n3) = 1
639 itagn(n4) = 1
640 irect(1,np) = n1
641 irect(2,np) = n2
642 irect(3,np) = n3
643 irect(4,np) = n4
644 END IF
645 END IF
646 ENDDO
647 END DO
648 DO nl=1,nloadp_f + pblast%NLOADP_B
649 iad = iloadp(4,nl)
650 DO n=1, iloadp(1,nl)/4
651 n1 = lloadp(iad+4*(n-1))
652 n2 = lloadp(iad+4*(n-1)+1)
653 n3 = lloadp(iad+4*(n-1)+2)
654 n4 = lloadp(iad+4*(n-1)+3)
655 IF (n1==0.OR.n2==0.OR.n3==0) cycle
656 IF (n4==0) n4 = n3
657 IF(itagn(n1)+itagn(n2)+itagn(n3)+itagn(n4)<4) THEN
658 np = np +1
659 itagn(n1) = 1
660 itagn(n2) = 1
661 itagn(n3) = 1
662 itagn(n4) = 1
663 irect(1,np) = n1
664 irect(2,np) = n2
665 irect(3,np) = n3
666 irect(4,np) = n4
667 ELSE
668 ixst = 0
669 j = 0
670 DO WHILE (ixst==0 .AND. j < np)
671 j = j + 1
672 IF (n1 /= irect(1,j)) cycle
673 IF (n2 /= irect(2,j)) cycle
674 IF (n3 /= irect(3,j)) cycle
675 IF (n4 /= irect(4,j)) cycle
676 ixst = 1
677 END DO
678 IF (ixst == 0 )THEN
679 np = np +1
680 itagn(n1) = 1
681 itagn(n2) = 1
682 itagn(n3) = 1
683 itagn(n4) = 1
684 irect(1,np) = n1
685 irect(2,np) = n2
686 irect(3,np) = n3
687 irect(4,np) = n4
688 END IF
689 END IF
690 ENDDO
691 END DO
692 DO nl = 1,loads%NLOAD_CYL
693 DO n = 1,loads%LOAD_CYL(nl)%NSEG
694 n1 = loads%LOAD_CYL(nl)%SEGNOD(n,1)
695 n2 = loads%LOAD_CYL(nl)%SEGNOD(n,2)
696 n3 = loads%LOAD_CYL(nl)%SEGNOD(n,3)
697 n4 = loads%LOAD_CYL(nl)%SEGNOD(n,4)
698 IF (n4==0) n4 = n3
699 IF(itagn(n1)+itagn(n2)+itagn(n3)+itagn(n4)<4) THEN
700 np = np +1
701 itagn(n1) = 1
702 itagn(n2) = 1
703 itagn(n3) = 1
704 itagn(n4) = 1
705 irect(1,np) = n1
706 irect(2,np) = n2
707 irect(3,np) = n3
708 irect(4,np) = n4
709 ELSE
710 ixst = 0
711 j = 0
712 DO WHILE (ixst==0 .AND. j < np)
713 j = j + 1
714 IF (n1 /= irect(1,j)) cycle
715 IF (n2 /= irect(2,j)) cycle
716 IF (n3 /= irect(3,j)) cycle
717 IF (n4 /= irect(4,j)) cycle
718 ixst = 1
719 END DO
720 IF (ixst == 0 )THEN
721 np = np +1
722 itagn(n1) = 1
723 itagn(n2) = 1
724 itagn(n3) = 1
725 itagn(n4) = 1
726 irect(1,np) = n1
727 irect(2,np) = n2
728 irect(3,np) = n3
729 irect(4,np) = n4
730 END IF
731 END IF
732 ENDDO
733 END DO
734 nskin = nskin_i + np
735 DEALLOCATE(irect,itagn)
736 END IF
737C-----some segs are used > 1 times
738C
739 RETURN
740 END
741!||====================================================================
742!|| h3d_pre_skin_ixskin ../engine/source/output/h3d/h3d_results/h3d_skin_ixskin.F
743!||--- called by ------------------------------------------------------
744!|| h3d_skin_ixskin ../engine/source/output/h3d/h3d_results/h3d_skin_ixskin.F
745!||--- uses -----------------------------------------------------
746!|| element_mod ../common_source/modules/elements/element_mod.F90
747!|| h3d_inc_mod ../engine/share/modules/h3d_inc_mod.F
748!|| loads_mod ../common_source/modules/loads/loads_mod.F90
749!|| pblast_mod ../common_source/modules/loads/pblast_mod.F90
750!|| pinchtype_mod ../common_source/modules/pinchtype_mod.F
751!||====================================================================
752 SUBROUTINE h3d_pre_skin_ixskin(NODAL_IPART,IB ,ILOADP,LLOADP,
753 . IXSKIN ,NSKIN ,IMAPSKP,LOADS,PBLAST )
754C-----------------------------------------------
755C M o d u l e s
756C-----------------------------------------------
757 USE pinchtype_mod
758 USE h3d_inc_mod
759 USE loads_mod
760 USE pblast_mod
761 use element_mod , only : nixq
762C-----------------------------------------------
763C I m p l i c i t T y p e s
764C-----------------------------------------------
765#include "implicit_f.inc"
766#include "param_c.inc"
767C-----------------------------------------------
768C C o m m o n B l o c k s
769C-----------------------------------------------
770#include "com04_c.inc"
771#include "tabsiz_c.inc"
772C-----------------------------------------------
773C E x t e r n a l F u n c t i o n s
774C-----------------------------------------------
775C-----------------------------------------------,
776C D u m m y A r g u m e n t s
777C-----------------------------------------------
778 INTEGER , DIMENSION(NUMSKINP0), INTENT(IN) :: IMAPSKP
779 INTEGER LLOADP(SLLOADP),NSKIN,IXSKIN(NIXQ,*)
780 INTEGER ILOADP(SIZLOADP,*),IB(NIBCLD,*),NODAL_IPART(*)
781 TYPE (LOADS_) , INTENT(IN) :: LOADS
782 TYPE(PBLAST_),INTENT(IN) :: PBLAST
783C-----------------------------------------------
784C L o c a l V a r i a b l e s
785C-----------------------------------------------
786 INTEGER NL, N1, N2, N3, N4,
787 . iad ,np ,ifunc ,npres,nskin0,nskin1,n,i,pid0,shift
788C=======================================================================
789C-----IXSKIN(1,*):ipart;IXSKIN(2:5,*):N1-4,IXSKIN(6,*):pid;IXSKIN(7,*):usr_id
790 pid0 =0
791 nskin0 = nskin
792 np = 0
793C-----Force (pressure) first
794 DO nl=1,nconld-nploadpinch
795 n1 = ib(1,nl)
796 n2 = ib(2,nl)
797 n3 = ib(3,nl)
798 n4 = ib(4,nl)
799 IF (n1==0.OR.n2==0.OR.n3==0.OR.n4==-1) cycle
800C
801 np = np + 1
802 nskin = nskin0+ imapskp(np)
803 ixskin(2,nskin)=n1
804 ixskin(3,nskin)=n2
805 ixskin(4,nskin)=n3
806 IF (n4==0) THEN
807 ixskin(5,nskin)=n3
808 ELSEIF(n4>0) THEN
809 ixskin(5,nskin)=n4
810 END IF
811 ixskin(1,nskin)=nodal_ipart(n1)
812 ixskin(6,nskin)=nskin0+nl
813 END DO
814 nskin1 = nskin
815C----------load_pressure
816 shift = nloadp_f+pblast%NLOADP_B
817 DO nl=1+shift,nloadp_hyd+shift
818 iad = iloadp(4,nl)
819 DO n=1, iloadp(1,nl)/4
820 n1 = lloadp(iad+4*(n-1))
821 n2 = lloadp(iad+4*(n-1)+1)
822 n3 = lloadp(iad+4*(n-1)+2)
823 n4 = lloadp(iad+4*(n-1)+3)
824 IF (n1==0.OR.n2==0.OR.n3==0) cycle
825C
826 np = np + 1
827 IF (imapskp(np) < np) cycle
828 nskin = nskin0+ imapskp(np)
829 ixskin(2,nskin)=n1
830 ixskin(3,nskin)=n2
831 ixskin(4,nskin)=n3
832 IF (n4==0) THEN
833 ixskin(5,nskin)=n3
834 ELSEIF(n4>0) THEN
835 ixskin(5,nskin)=n4
836 END IF
837 ixskin(1,nskin)=nodal_ipart(n1)
838 ixskin(6,nskin)=nskin1+nl
839 ENDDO
840 END DO !NP=1,NLOADP_HYD
841C---------pfluid
842 nskin1 = nskin
843 DO nl=1,nloadp_f
844 iad = iloadp(4,nl)
845 DO i = 1,iloadp(1,nl)/4
846 n1=lloadp(iad+4*(i-1))
847 n2=lloadp(iad+4*(i-1)+1)
848 n3=lloadp(iad+4*(i-1)+2)
849 n4=lloadp(iad+4*(i-1)+3)
850 IF (n1==0.OR.n2==0.OR.n3==0) cycle
851C
852 np = np + 1
853 IF (imapskp(np) < np) cycle
854 nskin = nskin0+ imapskp(np)
855 ixskin(2,nskin)=n1
856 ixskin(3,nskin)=n2
857 ixskin(4,nskin)=n3
858 IF (n4==0) THEN
859 ixskin(5,nskin)=n3
860 ELSEIF(n4>0) THEN
861 ixskin(5,nskin)=n4
862 END IF
863 ixskin(1,nskin)=nodal_ipart(n1)
864 ixskin(6,nskin)=nskin1+nl
865 END DO
866 END DO
867C---------pblast
868 nskin1 = nskin
869 DO nl=1+nloadp_f,nloadp_f+pblast%NLOADP_B
870 iad = iloadp(4,nl)
871 DO i = 1,iloadp(1,nl)/4
872 n1=lloadp(iad+4*(i-1))
873 n2=lloadp(iad+4*(i-1)+1)
874 n3=lloadp(iad+4*(i-1)+2)
875 n4=lloadp(iad+4*(i-1)+3)
876 IF (n1==0.OR.n2==0.OR.n3==0) cycle
877C
878 np = np + 1
879 IF (imapskp(np) < np) cycle
880 nskin = nskin0+ imapskp(np)
881 ixskin(2,nskin)=n1
882 ixskin(3,nskin)=n2
883 ixskin(4,nskin)=n3
884 IF (n4==0) THEN
885 ixskin(5,nskin)=n3
886 ELSEIF(n4>0) THEN
887 ixskin(5,nskin)=n4
888 END IF
889 ixskin(1,nskin)=nodal_ipart(n1)
890 ixskin(6,nskin)=nskin1+nl
891 END DO
892 END DO
893C---------/LOAD/PCYL
894 nskin1 = nskin
895 DO nl=1,loads%NLOAD_CYL
896 DO i = 1,loads%LOAD_CYL(nl)%NSEG
897 n1 = loads%LOAD_CYL(nl)%SEGNOD(i,1)
898 n2 = loads%LOAD_CYL(nl)%SEGNOD(i,2)
899 n3 = loads%LOAD_CYL(nl)%SEGNOD(i,3)
900 n4 = loads%LOAD_CYL(nl)%SEGNOD(i,4)
901C
902 np = np + 1
903 IF (imapskp(np) < np) cycle
904 nskin = nskin0+ imapskp(np)
905 ixskin(2,nskin)=n1
906 ixskin(3,nskin)=n2
907 ixskin(4,nskin)=n3
908 IF (n4==0) THEN
909 ixskin(5,nskin)=n3
910 ELSEIF(n4>0) THEN
911 ixskin(5,nskin)=n4
912 END IF
913 ixskin(1,nskin)=nodal_ipart(n1)
914 ixskin(6,nskin)=nskin1+nl
915 END DO
916 END DO
917C
918 RETURN
919 END
920!||====================================================================
921!|| get_nodal_ipart ../engine/source/output/h3d/h3d_results/h3d_skin_ixskin.F
922!||--- called by ------------------------------------------------------
923!|| genh3d ../engine/source/output/h3d/h3d_results/genh3d.F
924!||--- calls -----------------------------------------------------
925!|| initbuf ../engine/share/resol/initbuf.F
926!||--- uses -----------------------------------------------------
927!|| elbufdef_mod ../common_source/modules/mat_elem/elbufdef_mod.F90
928!|| element_mod ../common_source/modules/elements/element_mod.F90
929!|| initbuf_mod ../engine/share/resol/initbuf.F
930!||====================================================================
931 SUBROUTINE get_nodal_ipart(ELBUF_TAB,IPARG,IPARTC,IPARTTG,IPARTS,
932 . IXC, IXTG, IXS,IXS10,IXS16,IXS20,
933 . NODAL_IPART)
934C-----------------------------------------------
935C M o d u l e s
936C-----------------------------------------------
937 USE initbuf_mod
938 USE elbufdef_mod
939 use element_mod , only : nixs,nixc,nixtg
940C-----------------------------------------------
941C I m p l i c i t T y p e s
942C-----------------------------------------------
943#include "implicit_f.inc"
944C-----------------------------------------------
945C C o m m o n B l o c k s
946C-----------------------------------------------
947#include "com01_c.inc"
948#include "com04_c.inc"
949#include "param_c.inc"
950C-----------------------------------------------
951C D u m m y A r g u m e n t s
952C-----------------------------------------------
953C REAL
954 INTEGER IPARG(NPARG,*),IXS(NIXS,*),IPARTS(*),
955 . IXC(NIXC,*),IXTG(NIXTG,*),IXS10(6,*),IXS16(8,*) ,
956 . IXS20(12,*),IPARTC(*),IPARTTG(*),NODAL_IPART(*)
957 TYPE (ELBUF_STRUCT_), DIMENSION(NGROUP), TARGET :: ELBUF_TAB
958C-----------------------------------------------
959C L o c a l V a r i a b l e s
960C-----------------------------------------------
961 INTEGER I, ISOLNOD, NG, N, J, NJ
962 INTEGER
963 . MLW ,NEL ,NFT ,IAD ,ITY ,
964 . npt ,jale ,ismstr ,jeul ,jtur ,
965 . jthe ,jlag ,jmult ,jhbe ,jivf ,
966 . nvaux ,jpor ,kcvt ,jclose ,jplasol ,
967 . irep ,iint ,igtyp ,israt ,isrot ,
968 . icsen ,isorth ,isorthg ,ifailure,jsms ,
969 . nn,nn1,n1,idb
970C-----------------------------------------------
971 DO ng=1,ngroup
972 isolnod = iparg(28,ng)
973 CALL initbuf(iparg ,ng ,
974 2 mlw ,nel ,nft ,iad ,ity ,
975 3 npt ,jale ,ismstr ,jeul ,jtur ,
976 4 jthe ,jlag ,jmult ,jhbe ,jivf ,
977 5 nvaux ,jpor ,kcvt ,jclose ,jplasol ,
978 6 irep ,iint ,igtyp ,israt ,isrot ,
979 7 icsen ,isorth ,isorthg ,ifailure,jsms )
980!
981 IF(mlw == 13 .OR. mlw == 0) cycle
982C-----------------------------------------------
983C COQUES 3 N 4 N
984C-----------------------------------------------
985 IF (ity == 3 ) THEN
986 DO i=1,nel
987 n = i + nft
988 nodal_ipart(ixc(2:5,n))=ipartc(n)
989 END DO
990 ELSEIF (ity == 7) THEN
991 DO i=1,nel
992 n = i + nft
993 nodal_ipart(ixtg(2:4,n))=iparttg(n)
994 END DO
995C-----------------------------------------------
996C SOLID
997C-----------------------------------------------
998 ELSEIF (ity == 1) THEN
999
1000 SELECT CASE (isolnod)
1001 CASE(4)
1002 DO i=1,nel
1003 n = i + nft
1004 nodal_ipart(ixs(2,n)) =iparts(n)
1005 nodal_ipart(ixs(4,n)) =iparts(n)
1006 nodal_ipart(ixs(7,n)) =iparts(n)
1007 nodal_ipart(ixs(6,n)) =iparts(n)
1008 END DO
1009 CASE(6)
1010 DO i=1,nel
1011 n = i + nft
1012 nodal_ipart(ixs(2,n)) =iparts(n)
1013 nodal_ipart(ixs(3,n)) =iparts(n)
1014 nodal_ipart(ixs(4,n)) =iparts(n)
1015 nodal_ipart(ixs(7,n)) =iparts(n)
1016 nodal_ipart(ixs(6,n)) =iparts(n)
1017 nodal_ipart(ixs(8,n)) =iparts(n)
1018 END DO
1019 CASE(8)
1020 DO i=1,nel
1021 n = i + nft
1022 nodal_ipart(ixs(2:9,n)) =iparts(n)
1023 END DO
1024 CASE(10)
1025 DO i=1,nel
1026 n = i + nft
1027 nodal_ipart(ixs(2,n)) =iparts(n)
1028 nodal_ipart(ixs(4,n)) =iparts(n)
1029 nodal_ipart(ixs(7,n)) =iparts(n)
1030 nodal_ipart(ixs(6,n)) =iparts(n)
1031 nn1 = n - numels8
1032 DO j=1,6
1033 nj=ixs10(j,nn1)
1034 IF (nj>0) nodal_ipart(nj) =iparts(n)
1035 END DO
1036 END DO
1037 CASE(16)
1038 nn1 = n - (numels8+numels10+numels20)
1039 DO i=1,nel
1040 n = i + nft
1041 nodal_ipart(ixs(2:9,n)) =iparts(n)
1042 DO j=1,8
1043 nj=ixs16(j,nn1)
1044 IF (nj>0) nodal_ipart(nj) =iparts(n)
1045 END DO
1046 END DO
1047 CASE(20)
1048 nn1 = n - (numels8+numels10)
1049 DO i=1,nel
1050 n = i + nft
1051 nodal_ipart(ixs(2:9,n)) =iparts(n)
1052 DO j=1,12
1053 nj=ixs20(j,nn1)
1054 IF (nj>0) nodal_ipart(nj) =iparts(n)
1055 END DO
1056 END DO
1057 END SELECT
1058C-----------------------------------------------
1059 ENDIF
1060 END DO ! NG=1,NGROUP
1061C-----------
1062 RETURN
1063 END
subroutine get_nodal_ipart(elbuf_tab, iparg, ipartc, iparttg, iparts, ixc, ixtg, ixs, ixs10, ixs16, ixs20, nodal_ipart)
subroutine h3d_skin_tsh_dim(iparg, tag_skins6, numskin)
subroutine h3d_skin_pre_dim(ib, iloadp, lloadp, loads, nskin0, nskin, pblast)
subroutine h3d_skin_sol_dim(iparg, tag_skins6, numskin)
subroutine h3d_pre_skin_ixskin(nodal_ipart, ib, iloadp, lloadp, ixskin, nskin, imapskp, loads, pblast)
subroutine h3d_skin_ixskin(elbuf_tab, iparg, iparts, ixs, ixs10, itab, ixskin, tag_skins6, ibcl, iloadp, lloadp, nodal_ipart, imapskp, loads, pblast)
subroutine h3d_skin_dim(iparg, numskin, numsking, tag_skins6, ibcl, iloadp, lloadp, loads, numskinp0, numskinp, iflag, pblast)
subroutine h3d_sol_skin_ixskin(elbuf_tab, iparg, iparts, ixs, ixs10, ixskin, tag_skins6, nskin)
integer numskinp
Definition h3d_inc_mod.F:44
subroutine initbuf(iparg, ng, mtn, llt, nft, iad, ity, npt, jale, ismstr, jeul, jtur, jthe, jlag, jmult, jhbe, jivf, mid, jpor, jcvt, jclose, jpla, irep, iint, igtyp, israt, isrot, icsen, isorth, isorthg, ifailure, jsms)
Definition initbuf.F:261
integer nploadpinch
subroutine spmd_allglob_isum9(v, len)