OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
delnumbc.F File Reference
#include "implicit_f.inc"
#include "com01_c.inc"
#include "com04_c.inc"
#include "param_c.inc"
#include "task_c.inc"
#include "spmd_c.inc"

Go to the source code of this file.

Functions/Subroutines

subroutine delnumbc (iparg, ixq, ixc, ixtg, invert, el2fa, nbf, inum, nelcut, dd_iad, iadd, nbf_l, nbpart, iadg, nodglob, idcmax)

Function/Subroutine Documentation

◆ delnumbc()

subroutine delnumbc ( integer, dimension(nparg,*) iparg,
integer, dimension(nixq,*) ixq,
integer, dimension(nixc,*) ixc,
integer, dimension(nixtg,*) ixtg,
integer, dimension(*) invert,
integer, dimension(*) el2fa,
integer nbf,
integer, dimension(*) inum,
integer nelcut,
integer, dimension(nspmd+1,*) dd_iad,
integer, dimension(*) iadd,
integer nbf_l,
integer nbpart,
integer, dimension(nspmd,*) iadg,
integer, dimension(*) nodglob,
integer idcmax )

Definition at line 34 of file delnumbc.F.

38 use element_mod , only : nixq,nixc,nixtg
39C-----------------------------------------------
40C I m p l i c i t T y p e s
41C-----------------------------------------------
42#include "implicit_f.inc"
43C-----------------------------------------------
44C C o m m o n B l o c k s
45#include "com01_c.inc"
46#include "com04_c.inc"
47#include "param_c.inc"
48#include "task_c.inc"
49#include "spmd_c.inc"
50C-----------------------------------------------
51C D u m m y A r g u m e n t s
52C-----------------------------------------------
53 INTEGER IXC(NIXC,*),IXTG(NIXTG,*),IPARG(NPARG,*),
54 . IXQ(NIXQ,*),EL2FA(*),INUM(*),
55 . INVERT(*), NBF,NELCUT,NBPART,IADG(NSPMD,*)
56 INTEGER DD_IAD(NSPMD+1,*), IADD(*), NBF_L
57C-----------------------------------------------
58C REAL
59 INTEGER NG, ITY, LFT, LLT, N, I,
60 . NEL, IAD, NFT,
61 . NN1,NN2,NN3,NN4,NN5,NN6,NN7,NN8,NN9,NN10,BUF,NODGLOB(*),
62 . IDCMAX, IDCMAXL
63C-----------------------------------------------
64C
65 nn1 = 1
66 nn2 = 1
67 nn3 = 1
68 nn4 = nn3 + numelq
69 nn5 = nn4 + numelc
70 nn6 = nn5 + numeltg
71 nn7 = nn6
72 nn8 = nn7
73 nn9 = nn8
74 nn10= nn9
75C
76 DO 490 ng=1,ngroup
77 nel =iparg(2,ng)
78 nft =iparg(3,ng)
79 iad =iparg(4,ng)
80 ity =iparg(5,ng)
81 lft=1
82 llt=nel
83C-----------------------------------------------
84C QUAD
85C-----------------------------------------------
86 IF(ity==2)THEN
87 DO i=lft,llt
88 n = i + nft
89 inum(el2fa(nn3+n)) = ixq(nixq,n)
90 ENDDO
91C-----------------------------------------------
92C SHELLS
93C-----------------------------------------------
94 ELSEIF(ity==3)THEN
95 DO i=lft,llt
96 n = i + nft
97 inum(el2fa(nn4+n)) = ixc(nixc,n)
98 ENDDO
99C-----------------------------------------------
100C 3-NODE SHELLS
101C-----------------------------------------------
102 ELSEIF(ity==7)THEN
103 DO i=lft,llt
104 n = i + nft
105 inum(el2fa(nn5+n)) = ixtg(nixtg,n)
106 ENDDO
107 ELSE
108 ENDIF
109 490 CONTINUE
110C-----------------------------------------------
111 IF (nspmd == 1) THEN
112 idcmax=0
113 DO i=1,nbf
114 idcmax=max(idcmax,inum(i))
115 ENDDO
116 CALL write_i_c(inum,nbf)
117 DO i=1,nelcut
118 CALL write_i_c(0,1)
119 ENDDO
120 ELSE
121 idcmax=0
122 idcmaxl=0
123 DO i=1,nbf_l
124 idcmaxl=max(idcmaxl,inum(i))
125 ENDDO
126 CALL spmd_fvb_amax(idcmax, idcmaxl)
127 IF (ispmd==0) THEN
128 buf = numelqg+numelcg+numeltgg
129 ELSE
130 buf = 1
131 ENDIF
132 CALL spmd_iget_partn(1,nbf_l,inum,nbpart,iadg,buf,1)
133 ENDIF
134C-----------------------------------------------
135C
136 RETURN
#define max(a, b)
Definition macros.h:21
subroutine spmd_fvb_amax(idcmax, idcmaxl)
subroutine spmd_iget_partn(size, nbf_l, np, nbpart, iadg, srbuf, iflag)
void write_i_c(int *w, int *len)