OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
fxbdepla.F File Reference
#include "implicit_f.inc"
#include "units_c.inc"

Go to the source code of this file.

Functions/Subroutines

subroutine fxbdepla (fxbdep, fxbrpm, x, d, dn, nsn, fxbnod, nme, nmod, fxbmod, ish, ifile, nfx, ircm)

Function/Subroutine Documentation

◆ fxbdepla()

subroutine fxbdepla ( fxbdep,
fxbrpm,
x,
d,
integer dn,
integer nsn,
integer, dimension(*) fxbnod,
integer nme,
integer nmod,
fxbmod,
integer ish,
integer ifile,
integer nfx,
integer ircm )

Definition at line 28 of file fxbdepla.F.

31C-----------------------------------------------
32C I m p l i c i t T y p e s
33C-----------------------------------------------
34#include "implicit_f.inc"
35C-----------------------------------------------
36C C o m m o n B l o c k s
37C-----------------------------------------------
38#include "units_c.inc"
39C-----------------------------------------------
40C D u m m y A r g u m e n t s
41C-----------------------------------------------
42 INTEGER DN, NSN, FXBNOD(*), NME, NMOD, ISH, IFILE, NFX, IRCM
44 . fxbdep(*), fxbrpm(*), x(3,*), d(3,*), fxbmod(*)
45C-----------------------------------------------
46C L o c a l V a r i a b l e s
47C-----------------------------------------------
48 INTEGER I,II,IAD,LMOD,N,NDDL,J
50 . dt(3,dn), r(9), vmod(dn*6), vv(6)
51C
52 DO i=1,9
53 r(i)=fxbrpm(i+1)
54 ENDDO
55 lmod=(dn+nsn)*6
56C
57 DO i=1,dn
58 dt(1,i)=zero
59 dt(2,i)=zero
60 dt(3,i)=zero
61 ENDDO
62 DO i=1,12
63 IF (ifile==0) THEN
64 iad=(i-1)*lmod+nsn*6
65 DO ii=1,dn*6
66 vmod(ii)=fxbmod(iad+ii)
67 ENDDO
68 ELSEIF (ifile==1) THEN
69 iad=0
70 DO ii=1,dn
71 ircm=ircm+1
72 READ(ifxm,rec=ircm) (vv(j),j=1,6)
73 DO j=1,6
74 vmod(iad+j)=vv(j)
75 ENDDO
76 iad=iad+6
77 ENDDO
78 ENDIF
79 iad=0
80 DO ii=1,dn
81 dt(1,ii)=dt(1,ii)+fxbdep(i)*vmod(iad+1)
82 dt(2,ii)=dt(2,ii)+fxbdep(i)*vmod(iad+2)
83 dt(3,ii)=dt(3,ii)+fxbdep(i)*vmod(iad+3)
84 iad=iad+6
85 ENDDO
86 ENDDO
87 IF (ish>0.AND.ifile==1) THEN
88 DO i=1,3
89 DO ii=1,dn
90 ircm=ircm+1
91 ENDDO
92 ENDDO
93 ENDIF
94C
95 IF (nmod>0) THEN
96 DO i=1,nmod
97 IF (ifile==0) THEN
98 iad=(nme+i-1)*lmod+nsn*6
99 DO ii=1,dn*6
100 vmod(ii)=fxbmod(iad+ii)
101 ENDDO
102 ELSEIF (ifile==1) THEN
103 iad=0
104 DO ii=1,dn
105 ircm=ircm+1
106 READ(ifxm,rec=ircm) (vv(j),j=1,6)
107 DO j=1,6
108 vmod(iad+j)=vv(j)
109 ENDDO
110 iad=iad+6
111 ENDDO
112 ENDIF
113 iad=0
114 DO ii=1,dn
115 dt(1,ii)=dt(1,ii)+fxbdep(nme+i)*
116 . (r(1)*vmod(iad+1)+r(2)*vmod(iad+2)+
117 . r(3)*vmod(iad+3))
118 dt(2,ii)=dt(2,ii)+fxbdep(nme+i)*
119 . (r(4)*vmod(iad+1)+r(5)*vmod(iad+2)+
120 . r(6)*vmod(iad+3))
121 dt(3,ii)=dt(3,ii)+fxbdep(nme+i)*
122 . (r(7)*vmod(iad+1)+r(8)*vmod(iad+2)+
123 . r(9)*vmod(iad+3))
124 iad=iad+6
125 ENDDO
126 ENDDO
127 ENDIF
128 DO i=1,dn
129 ii=nsn+i
130 n=fxbnod(ii)
131 x(1,n)=x(1,n)-d(1,n)
132 x(2,n)=x(2,n)-d(2,n)
133 x(3,n)=x(3,n)-d(3,n)
134 d(1,n)=dt(1,i)
135 d(2,n)=dt(2,i)
136 d(3,n)=dt(3,i)
137 x(1,n)=x(1,n)+dt(1,i)
138 x(2,n)=x(2,n)+dt(2,i)
139 x(3,n)=x(3,n)+dt(3,i)
140 ENDDO
141C
142 RETURN
#define my_real
Definition cppsort.cpp:32