OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
bcscyc.F File Reference
#include "implicit_f.inc"
#include "com01_c.inc"
#include "com04_c.inc"
#include "param_c.inc"
#include "sms_c.inc"

Go to the source code of this file.

Functions/Subroutines

subroutine bcscyc (ibcscyc, lbcscyc, skew, x, v, a, itab)
subroutine acc_cycon (nbcy_n, ixcycl, isk, skew, x, a)
subroutine v_c2cylin (nbcy, ix, x, v, skew, xyz0, ccos, csin, v_c)
subroutine v_cyc2c (nbcy, skew, ccos, csin, v_c, vc)
subroutine chkv0_cy (nbcy_n, ixcycl, isk, skew, x, v, id, itab)

Function/Subroutine Documentation

◆ acc_cycon()

subroutine acc_cycon ( integer nbcy_n,
integer, dimension(2,*) ixcycl,
integer isk,
skew,
x,
a )

Definition at line 89 of file bcscyc.F.

90C-----------------------------------------------
91C M o d u l e s
92C-----------------------------------------------
93 USE message_mod
94C-----------------------------------------------
95C I m p l i c i t T y p e s
96C-----------------------------------------------
97#include "implicit_f.inc"
98C-----------------------------------------------
99C C o m m o n B l o c k s
100C-----------------------------------------------
101#include "param_c.inc"
102C-----------------------------------------------
103C D u m m y A r g u m e n t s
104C-----------------------------------------------
105 INTEGER NBCY_N,IXCYCL(2,*),ISK
106 my_real
107 . x(3,*),a(3,*),skew(lskew,*)
108C-----------------------------------------------
109C L o c a l V a r i a b l e s
110C-----------------------------------------------
111 INTEGER I, J ,N1(NBCY_N),N2(NBCY_N)
112C
113 my_real
114 . ccos1(nbcy_n),csin1(nbcy_n),ccos2(nbcy_n),csin2(nbcy_n),
115 . a_c1(3,nbcy_n),a_c2(3,nbcy_n),a_c(3,nbcy_n)
116C========================================================================|
117C---- for each section nodes :
118C-------A (SKEW) -> A'(x',y',z')->A"(r,dthe,z')
119C--- mean(A")-> A'(x',y',z')->A (SKEW^t)
120 DO i=1,nbcy_n
121 n1(i) = ixcycl(1,i)
122 n2(i) = ixcycl(2,i)
123 ENDDO
124 CALL v_c2cylin(nbcy_n,n1,x,a,skew(1,isk),skew(10,isk),ccos1,csin1,a_c1)
125 CALL v_c2cylin(nbcy_n,n2,x,a,skew(1,isk),skew(10,isk),ccos2,csin2,a_c2)
126 a_c(1:3,1:nbcy_n) = half*(a_c1(1:3,1:nbcy_n)+a_c2(1:3,1:nbcy_n))
127 CALL v_cyc2c(nbcy_n,skew(1,isk),ccos1,csin1,a_c,a_c1)
128 CALL v_cyc2c(nbcy_n,skew(1,isk),ccos2,csin2,a_c,a_c2)
129 DO i=1,nbcy_n
130 a(1:3,n1(i)) = a_c1(1:3,i)
131 a(1:3,n2(i)) = a_c2(1:3,i)
132 ENDDO
133C
134 RETURN
subroutine v_c2cylin(nbcy, ix, x, v, skew, xyz0, ccos, csin, v_c)
Definition bcscyc.F:143
subroutine v_cyc2c(nbcy, skew, ccos, csin, v_c, vc)
Definition bcscyc.F:196
#define my_real
Definition cppsort.cpp:32

◆ bcscyc()

subroutine bcscyc ( integer, dimension(4,*) ibcscyc,
integer, dimension(2,*) lbcscyc,
skew,
x,
v,
a,
integer, dimension(*) itab )

Definition at line 31 of file bcscyc.F.

32C-----------------------------------------------
33C I m p l i c i t T y p e s
34C-----------------------------------------------
35#include "implicit_f.inc"
36C-----------------------------------------------
37C C o m m o n B l o c k s
38C-----------------------------------------------
39#include "com01_c.inc"
40#include "com04_c.inc"
41#include "param_c.inc"
42#include "sms_c.inc"
43C-----------------------------------------------
44C D u m m y A r g u m e n t s
45C-----------------------------------------------
46 INTEGER IBCSCYC(4,*),LBCSCYC(2,*),ITAB(*)
48 . x(3,*),v(3,*),a(3,*),skew(lskew,*)
49C-----------------------------------------------
50C L o c a l V a r i a b l e s
51C-----------------------------------------------
52 INTEGER I, J ,ISK,IAD,NN,N1,N2,ID
54 . ax, ay, az
55C-----------------------------------------------
56C---Check Ncycle=0 V(,N1)=V(,N2) in c.s.
57 IF (ncycle==0) THEN
58 DO i=1,nbcscyc
59 iad = ibcscyc(1,i)+1
60 isk = ibcscyc(2,i)
61 nn = ibcscyc(3,i)
62 id = ibcscyc(4,i)
63 CALL chkv0_cy(nn,lbcscyc(1,iad),isk,skew,x ,v,id,itab)
64 END DO
65 END IF
66C----case AMS done before in sms_pcg
67 IF(idtmins == 2.OR.idtmins_int /= 0) RETURN
68 DO i=1,nbcscyc
69 iad = ibcscyc(1,i)+1
70 isk = ibcscyc(2,i)
71 nn = ibcscyc(3,i)
72 id = ibcscyc(4,i)
73 CALL acc_cycon(nn,lbcscyc(1,iad),isk,skew,x ,a)
74 END DO
75C
76 RETURN
subroutine chkv0_cy(nbcy_n, ixcycl, isk, skew, x, v, id, itab)
Definition bcscyc.F:240
subroutine acc_cycon(nbcy_n, ixcycl, isk, skew, x, a)
Definition bcscyc.F:90
initmumps id

◆ chkv0_cy()

subroutine chkv0_cy ( integer nbcy_n,
integer, dimension(2,*) ixcycl,
integer isk,
skew,
x,
v,
integer id,
integer, dimension(*) itab )

Definition at line 239 of file bcscyc.F.

240C-----------------------------------------------
241C M o d u l e s
242C-----------------------------------------------
243 USE message_mod
244C-----------------------------------------------
245C I m p l i c i t T y p e s
246C-----------------------------------------------
247#include "implicit_f.inc"
248C-----------------------------------------------
249C C o m m o n B l o c k s
250C-----------------------------------------------
251#include "param_c.inc"
252C-----------------------------------------------
253C D u m m y A r g u m e n t s
254C-----------------------------------------------
255 INTEGER NBCY_N,IXCYCL(2,*),ISK,ID,ITAB(*)
256 my_real
257 . x(3,*),v(3,*),skew(lskew,*)
258C-----------------------------------------------
259C L o c a l V a r i a b l e s
260C-----------------------------------------------
261 INTEGER I, J ,N1(NBCY_N),N2(NBCY_N) ,II1,II2
262C
263 my_real
264 . ccos(nbcy_n),csin(nbcy_n),v_c1(3,nbcy_n),v_c2(3,nbcy_n),
265 . dv,dvmax,dvmean
266C========================================================================|
267C-----for each cut-section nodes, compute cylindrical coordinates and vel
268 DO i=1,nbcy_n
269 n1(i) = ixcycl(1,i)
270 n2(i) = ixcycl(2,i)
271 ENDDO
272 CALL v_c2cylin(nbcy_n,n1,x,v,skew(1,isk),skew(10,isk),ccos,csin,v_c1)
273 CALL v_c2cylin(nbcy_n,n2,x,v,skew(1,isk),skew(10,isk),ccos,csin,v_c2)
274C--- check
275 dvmax =zero
276 j =1
277 dvmean =zero
278 DO i=1,nbcy_n
279 dv = abs(v_c1(2,i)-v_c2(2,i))
280 IF (dv >dvmax) THEN
281 dvmax = dv
282 j = i
283 END IF
284 dvmean =dvmean + abs(v_c1(2,i))+abs(v_c2(2,i))
285 ENDDO
286 IF (nbcy_n>0) dvmean =half*dvmean/nbcy_n
287 IF (dvmax>zep05*dvmean.AND.dvmean>em06) THEN
288 ii1 = itab(n1(j))
289 ii2 = itab(n2(j))
290 CALL ancmsg(msgid=285,anmode=aninfo,i1=id,i2=ii1,i3=ii2)
291 END IF
292C
293 RETURN
subroutine ancmsg(msgid, msgtype, anmode, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, r1, r2, r3, r4, r5, r6, r7, r8, r9, c1, c2, c3, c4, c5, c6, c7, c8, c9, prmode)
Definition message.F:889

◆ v_c2cylin()

subroutine v_c2cylin ( integer nbcy,
integer, dimension(*) ix,
x,
v,
skew,
xyz0,
ccos,
csin,
v_c )

Definition at line 142 of file bcscyc.F.

143C-----------------------------------------------
144C I m p l i c i t T y p e s
145C-----------------------------------------------
146#include "implicit_f.inc"
147C-----------------------------------------------
148C D u m m y A r g u m e n t s
149C-----------------------------------------------
150 INTEGER NBCY,IX(*)
151 my_real
152 . x(3,*),skew(9),xyz0(3),v(3,*),
153 . v_c(3,nbcy),ccos(nbcy),csin(nbcy)
154C-----------------------------------------------
155C L o c a l V a r i a b l e s
156C-----------------------------------------------
157 INTEGER I, J
158C
159 my_real
160 . xx,yy,zz,xl,yl,zl,r2,cr(nbcy),cz(nbcy)
161C========================================================================|
162C----- compute v to v_cylin
163 DO i=1,nbcy
164 xx = x(1,ix(i))-xyz0(1)
165 yy = x(2,ix(i))-xyz0(2)
166 zz = x(3,ix(i))-xyz0(3)
167 xl = xx*skew(1)+yy*skew(2)+zz*skew(3)
168 yl = xx*skew(4)+yy*skew(5)+zz*skew(6)
169 zl = xx*skew(7)+yy*skew(8)+zz*skew(9)
170 r2 = xl*xl+yl*yl
171 cr(i) = sqrt(r2)
172 ccos(i) = xl/cr(i)
173 csin(i) = yl/cr(i)
174 cz(i) = zl
175 ENDDO
176 DO i=1,nbcy
177 xx = v(1,ix(i))
178 yy = v(2,ix(i))
179 zz = v(3,ix(i))
180 xl = xx*skew(1)+yy*skew(2)+zz*skew(3)
181 yl = xx*skew(4)+yy*skew(5)+zz*skew(6)
182 zl = xx*skew(7)+yy*skew(8)+zz*skew(9)
183 v_c(1,i) = xl*ccos(i)+yl*csin(i)
184 v_c(2,i) = yl*ccos(i)-xl*csin(i)
185 v_c(3,i) = zl
186 ENDDO
187C
188 RETURN

◆ v_cyc2c()

subroutine v_cyc2c ( integer nbcy,
skew,
ccos,
csin,
v_c,
vc )

Definition at line 195 of file bcscyc.F.

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 NBCY
204 my_real
205 . skew(9),v_c(3,nbcy),ccos(nbcy),csin(nbcy),vc(3,nbcy)
206C-----------------------------------------------
207C L o c a l V a r i a b l e s
208C-----------------------------------------------
209 INTEGER I, J
210C
211 my_real
212 . xx,yy,zz,xl,yl,zl
213C========================================================================|
214C----- compute v_cylin to v
215 DO i=1,nbcy
216 xx = v_c(1,i)*ccos(i)-v_c(2,i)*csin(i)
217 yy = v_c(1,i)*csin(i)+v_c(2,i)*ccos(i)
218 zz = v_c(3,i)
219 xl = xx*skew(1)+yy*skew(4)+zz*skew(7)
220 yl = xx*skew(2)+yy*skew(5)+zz*skew(8)
221 zl = xx*skew(3)+yy*skew(6)+zz*skew(9)
222 vc(1,i) = xl
223 vc(2,i) = yl
224 vc(3,i) = zl
225 ENDDO
226C
227 RETURN