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 190 of file domdec1.F.

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

◆ dd_fr_2()

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

Definition at line 278 of file domdec1.F.

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

◆ dd_frx()

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

Definition at line 233 of file domdec1.F.

234C
235C-----------------------------------------------
236C M o d u l e s
237C-----------------------------------------------
238
239C-----------------------------------------------
240C I m p l i c i t T y p e s
241C-----------------------------------------------
242#include "implicit_f.inc"
243C-----------------------------------------------
244C D u m m y A r g u m e n t s
245C-----------------------------------------------
246 INTEGER ICON,NEL,DIM,P
247 INTEGER KXX(DIM,*),IXX(*)
248C-----------------------------------------------
249C L o c a l V a r i a b l e s
250C-----------------------------------------------
251 INTEGER I,J,N,ADDX
252C-----------------------------------------------------
253C S o u r c e L i n e s
254C-----------------------------------------------------
255C Phase de comptage des noeuds frontieres
256C determiner les noeuds utilises
257C mettre a 1 la FRONTIERE(sd) correspondante
258 DO i=1,nel
259 icon = kxx(3,i)
260 addx = kxx(4,i)
261 DO j=1,icon
262 n = ixx(addx-1+j)
263 IF(n/=0) THEN
264 CALL ifrontplus(n,p)
265 ENDIF
266 END DO
267 END DO
268
269 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 34 of file domdec1.F.

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