OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
domdec1.F File Reference
#include "implicit_f.inc"
#include "com01_c.inc"
#include "com04_c.inc"
#include "vect01_c.inc"
#include "scr03_c.inc"
#include "scr12_c.inc"
#include "param_c.inc"
#include "scr23_c.inc"
#include "sphcom.inc"
#include "scr14_c.inc"

Go to the source code of this file.

Functions/Subroutines

subroutine domdec1 (iparg, ixs, ixq, ixc, ixt, ixp, ixr, ixtg, dd_iad, x, dd_iad_prev, ixs10, ixs20, ixs16, kxx, ixx, kxsp, ixsp, cepsp, ixtg6)
subroutine dd_fr (ix, p, nel, icon, dim)
subroutine dd_frx (kxx, ixx, p, nel, dim)
subroutine dd_fr_2 (ix, p, nel, icon, dim)

Function/Subroutine Documentation

◆ dd_fr()

subroutine dd_fr ( integer, dimension(dim,*) ix,
integer p,
integer nel,
integer icon,
integer dim )

Definition at line 191 of file domdec1.F.

192C-----------------------------------------------
193C M o d u l e s
194C-----------------------------------------------
195
196C-----------------------------------------------
197C I m p l i c i t T y p e s
198C-----------------------------------------------
199#include "implicit_f.inc"
200C-----------------------------------------------
201C D u m m y A r g u m e n t s
202C-----------------------------------------------
203 INTEGER ICON,NEL,DIM,P
204 INTEGER IX(DIM,*)
205C-----------------------------------------------
206C L o c a l V a r i a b l e s
207C-----------------------------------------------
208 INTEGER I,J,N
209C-----------------------------------------------------
210C S o u r c e L i n e s
211C-----------------------------------------------------
212C Phase of counting boundary nodes
213C determine the used nodes
214C mettre a 1 la FRONTIERE(sd) correspondante
215 DO i=1,icon
216 DO j=1,nel
217 n = ix(1+i,j)
218 IF(n/=0) THEN
219 CALL ifrontplus(n,p)
220 ENDIF
221 END DO
222 END DO
223
224 RETURN
subroutine ifrontplus(n, p)
Definition frontplus.F:101

◆ dd_fr_2()

subroutine dd_fr_2 ( integer, dimension(dim,*) ix,
integer p,
integer nel,
integer icon,
integer dim )

Definition at line 279 of file domdec1.F.

280C-----------------------------------------------
281C M o d u l e s
282C-----------------------------------------------
283
284C-----------------------------------------------
285C I m p l i c i t T y p e s
286C-----------------------------------------------
287#include "implicit_f.inc"
288C-----------------------------------------------
289C D u m m y A r g u m e n t s
290C-----------------------------------------------
291 INTEGER ICON,NEL,DIM,P
292 INTEGER IX(DIM,*)
293C-----------------------------------------------
294C L o c a l V a r i a b l e s
295C-----------------------------------------------
296 INTEGER I,J,N
297C-----------------------------------------------------
298C S o u r c e L i n e s
299C-----------------------------------------------------
300C Phase of counting boundary nodes
301C determine the used nodes
302C mettre a 1 la FRONTIERE(sd) correspondante
303 DO i=1,icon
304 DO j=1,nel
305 n = ix(i,j)
306 IF(n/=0) THEN
307 CALL ifrontplus(n,p)
308 ENDIF
309 END DO
310 END DO
311
312 RETURN

◆ dd_frx()

subroutine dd_frx ( integer, dimension(dim,*) kxx,
integer, dimension(*) ixx,
integer p,
integer nel,
integer dim )

Definition at line 234 of file domdec1.F.

235C
236C-----------------------------------------------
237C M o d u l e s
238C-----------------------------------------------
239
240C-----------------------------------------------
241C I m p l i c i t T y p e s
242C-----------------------------------------------
243#include "implicit_f.inc"
244C-----------------------------------------------
245C D u m m y A r g u m e n t s
246C-----------------------------------------------
247 INTEGER ICON,NEL,DIM,P
248 INTEGER KXX(DIM,*),IXX(*)
249C-----------------------------------------------
250C L o c a l V a r i a b l e s
251C-----------------------------------------------
252 INTEGER I,J,N,ADDX
253C-----------------------------------------------------
254C S o u r c e L i n e s
255C-----------------------------------------------------
256C Phase of counting boundary nodes
257C determine the used nodes
258C mettre a 1 la FRONTIERE(sd) correspondante
259 DO i=1,nel
260 icon = kxx(3,i)
261 addx = kxx(4,i)
262 DO j=1,icon
263 n = ixx(addx-1+j)
264 IF(n/=0) THEN
265 CALL ifrontplus(n,p)
266 ENDIF
267 END DO
268 END DO
269
270 RETURN

◆ domdec1()

subroutine domdec1 ( integer, dimension(nparg,*) iparg,
integer, dimension(nixs,*) ixs,
integer, dimension(nixq,*) ixq,
integer, dimension(nixc,*) ixc,
integer, dimension(nixt,*) ixt,
integer, dimension(nixp,*) ixp,
integer, dimension(nixr,*) ixr,
integer, dimension(nixtg,*) ixtg,
integer, dimension(nspmd+1,*) dd_iad,
x,
integer, dimension(nspmd+1,*) dd_iad_prev,
integer, dimension(6,*) ixs10,
integer, dimension(12,*) ixs20,
integer, dimension(8,*) ixs16,
integer, dimension(nixx,*) kxx,
integer, dimension(*) ixx,
integer, dimension(nisp,*) kxsp,
integer, dimension(*) ixsp,
integer, dimension(*) cepsp,
integer, dimension(4,*) ixtg6 )

Definition at line 35 of file domdec1.F.

41C
42C-----------------------------------------------
43C M o d u l e s
44C-----------------------------------------------
45 use element_mod , only : nixs,nixq,nixc,nixp,nixt,nixr,nixtg
46C-----------------------------------------------
47C I m p l i c i t T y p e s
48C-----------------------------------------------
49#include "implicit_f.inc"
50C-----------------------------------------------
51C C o m m o n B l o c k s
52C-----------------------------------------------
53#include "com01_c.inc"
54#include "com04_c.inc"
55#include "vect01_c.inc"
56#include "scr03_c.inc"
57#include "scr12_c.inc"
58#include "param_c.inc"
59#include "scr23_c.inc"
60#include "sphcom.inc"
61#include "scr14_c.inc"
62C-----------------------------------------------
63C D u m m y A r g u m e n t s
64C-----------------------------------------------
65 INTEGER IPARG(NPARG,*), IXS(NIXS,*), IXQ(NIXQ,*) ,
66 . IXC(NIXC,*) , IXT(NIXT,*), IXTG(NIXTG,*) ,
67 . IXP(NIXP,*) , IXR(NIXR,*) ,
68 . DD_IAD(NSPMD+1,*),
69 . DD_IAD_PREV(NSPMD+1,*),
70 . IXS10(6,*),IXS20(12,*),IXS16(8,*), IXTG6(4,*),
71 . KXX(NIXX,*), IXX(*), KXSP(NISP,*), IXSP(*), CEPSP(*)
72 my_real :: x(3,numnod)
73C-----------------------------------------------
74C F u n c t i o n
75C-----------------------------------------------
76 INTEGER NLOCAL
77 EXTERNAL nlocal
78C-----------------------------------------------
79C L o c a l V a r i a b l e s
80C-----------------------------------------------
81 INTEGER NEL, DIM, NG, I,ICON, P, ISOLNOD, ICNOD
82C-----------------------------------------------------
83C S o u r c e L i n e s
84C-----------------------------------------------------
85C
86C phase 1 : dd_iad
87C
88 DO i = 1, nspgroup
89 DO p = 1, nspmd+1
90 dd_iad(p,i) = dd_iad_prev(p,i)
91 ENDDO
92 ENDDO
93C
94C phase 2 : boundary
95C
96 DO ng=1,ngroup
97 ity = iparg(5,ng)
98 nel = iparg(2,ng)
99 nft = iparg(3,ng)
100 p = iparg(32,ng)+1
101 IF(ity==1) THEN
102 icon = 8
103 dim = nixs
104 CALL dd_fr(ixs(1,nft+1),p,nel,icon,dim)
105 IF(codvers>=42) THEN
106 isolnod = iparg(28,ng)
107 IF (isolnod==10) THEN
108 icon = 6
109 dim = 6
110C
111 CALL dd_fr_2(
112 . ixs10(1,1+nft-numels8),p,nel,
113 . icon,dim)
114 ELSEIF(isolnod==20) THEN
115 icon = 12
116 dim = 12
117C
118 CALL dd_fr_2(
119 . ixs20(1,1+nft-numels8-numels10),p,nel,
120 . icon,dim)
121 ELSEIF(isolnod==16) THEN
122 icon = 8
123 dim = 8
124C
125 CALL dd_fr_2(
126 . ixs16(1,1+nft-numels8-numels10-numels20),p,nel,
127 . icon,dim)
128 ENDIF
129 ENDIF
130 ELSE IF(ity==2) THEN
131 icon = 4
132 dim = nixq
133 CALL dd_fr(ixq(1,nft+1),p,nel,icon,dim)
134 ELSE IF(ity==3) THEN
135 icon = 4
136 dim = nixc
137 CALL dd_fr(ixc(1,nft+1),p,nel,icon,dim)
138 ELSE IF(ity==4) THEN
139 icon = 2
140 dim = nixt
141 CALL dd_fr(ixt(1,nft+1),p,nel,icon,dim)
142 ELSE IF(ity==5) THEN
143 icon = 3
144 dim = nixp
145 CALL dd_fr(ixp(1,nft+1),p,nel,icon,dim)
146 ELSE IF(ity==6) THEN
147 icon = 3
148 dim = nixr
149 CALL dd_fr(ixr(1,nft+1),p,nel,icon,dim)
150 ELSE IF(ity==7) THEN
151 icon = 3
152 dim = nixtg
153 CALL dd_fr(ixtg(1,nft+1),p,nel,icon,dim)
154 icnod = iparg(11,ng)
155 icon = 3
156 dim = 4
157 IF(icnod==6)THEN
158C shift of 1 on ixtg6
159 CALL dd_fr(
160 . ixtg6(4,1+nft-numeltg+numeltg6),p,nel,
161 . icon,dim)
162 END IF
163 ELSE IF(ity==51) THEN
164 icon = 1
165 dim = nisp
166C kxsp shifted to retrieve KXSP(3) = node id
167 CALL dd_fr(kxsp(2,nft+1),p,nel,icon,dim)
168 ELSE IF(ity==100) THEN
169 dim = nixx
170 CALL dd_frx(kxx(1,nft+1),ixx,p,nel,dim)
171 ENDIF
172 END DO
173
174C 3) ANIM file for domain decomposition
175 IF (decani==1.AND.anim_vers<40) THEN
176 CALL dd_ani(x ,ixs ,ixq ,ixc ,
177 . ixt ,ixp ,ixr ,ixtg ,
178 . iparg ,kxsp ,ixsp )
179 ENDIF
180
181 RETURN
#define my_real
Definition cppsort.cpp:32
subroutine dd_ani(x, ixs, ixq, ixc, ixt, ixp, ixr, ixtg, iparg, kxsp, ixsp)
Definition dd_ani.F:38
integer function nlocal(n, p)
Definition ddtools.F:350
subroutine dd_fr_2(ix, p, nel, icon, dim)
Definition domdec1.F:280
subroutine dd_frx(kxx, ixx, p, nel, dim)
Definition domdec1.F:235
subroutine dd_fr(ix, p, nel, icon, dim)
Definition domdec1.F:192