OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
s20coor3.F File Reference
#include "implicit_f.inc"
#include "mvsiz_p.inc"
#include "scr18_c.inc"

Go to the source code of this file.

Functions/Subroutines

subroutine s20coor3 (x, ixs, ixsp, v, w, iperm1, iperm2, npe, xx, yy, zz, vx, vy, vz, vdxx, vdyy, vdzz, vdx, vdy, vdz, vd2, vis, offg, off, sav, nc, ngl, mxt, ngeo, fx, fy, fz, stig, sigg, eintg, rhog, qg, eplasm, epsdg, g_pla, g_epsd, nel, conden, jale, ismstr, jeul, jlag)

Function/Subroutine Documentation

◆ s20coor3()

subroutine s20coor3 ( x,
integer, dimension(nixs,*) ixs,
integer, dimension(npe-8,*) ixsp,
v,
w,
integer, dimension(npe) iperm1,
integer, dimension(npe) iperm2,
integer npe,
xx,
yy,
zz,
vx,
vy,
vz,
vdxx,
vdyy,
vdzz,
vdx,
vdy,
vdz,
vd2,
vis,
offg,
off,
double precision, dimension(nel,3*npe) sav,
integer, dimension(mvsiz,npe) nc,
integer, dimension(*) ngl,
integer, dimension(*) mxt,
integer, dimension(*) ngeo,
fx,
fy,
fz,
stig,
sigg,
eintg,
rhog,
qg,
eplasm,
epsdg,
integer g_pla,
integer g_epsd,
integer nel,
conden,
integer, intent(in) jale,
integer, intent(in) ismstr,
integer, intent(in) jeul,
integer, intent(in) jlag )

Definition at line 29 of file s20coor3.F.

42C-----------------------------------------------
43C I m p l i c i t T y p e s
44C-----------------------------------------------
45#include "implicit_f.inc"
46C-----------------------------------------------
47C G l o b a l P a r a m e t e r s
48C-----------------------------------------------
49#include "mvsiz_p.inc"
50C-----------------------------------------------
51C C o m m o n B l o c k s
52C-----------------------------------------------
53#include "scr18_c.inc"
54C-----------------------------------------------
55C D u m m y A r g u m e n t s
56C-----------------------------------------------
57 INTEGER, INTENT(IN) :: JALE
58 INTEGER, INTENT(IN) :: ISMSTR
59 INTEGER, INTENT(IN) :: JEUL
60 INTEGER, INTENT(IN) :: JLAG
61 INTEGER NPE,G_PLA,G_EPSD,NEL,
62 . NC(MVSIZ,NPE), MXT(*), NGL(*),NGEO(*),
63 . IXS(NIXS,*),IXSP(NPE-8,*), IPERM1(NPE),IPERM2(NPE)
64C REAL
66 . x(3,*),v(3,*),w(3,*), vis(*),
67 . xx(mvsiz,npe), yy(mvsiz,npe), zz(mvsiz,npe),
68 . vx(mvsiz,npe),vy(mvsiz,npe),vz(mvsiz,npe),
69 . vdxx(mvsiz,npe), vdyy(mvsiz,npe), vdzz(mvsiz,npe),
70 . vdx(*), vdy(*), vdz(*),vd2(*),offg(*),off(*),
71 . fx(mvsiz,npe), fy(mvsiz,npe), fz(mvsiz,npe), epsdg(*),
72 . sigg(nel,6),eintg(*),rhog(*),qg(*),stig(mvsiz,npe),eplasm(*),
73 . conden(mvsiz,npe)
74 DOUBLE PRECISION
75 . SAV(NEL,3*NPE)
76C-----------------------------------------------
77C L o c a l V a r i a b l e s
78C-----------------------------------------------
79 INTEGER I,N,N1,N2,NN,IUN,MXT_1
81 . off_l
82C-----------------------------------------------
83 off_l = zero
84 iun=1
85C
86 mxt_1 = ixs(1,1)
87 DO i=1,nel
88 vis(i)=zero
89 vd2(i)=zero
90 ngeo(i)=ixs(10,i)
91 ngl(i) =ixs(11,i)
92 mxt(i) =mxt_1
93 nc(i,1)=ixs(2,i)
94 nc(i,2)=ixs(3,i)
95 nc(i,3)=ixs(4,i)
96 nc(i,4)=ixs(5,i)
97 nc(i,5)=ixs(6,i)
98 nc(i,6)=ixs(7,i)
99 nc(i,7)=ixs(8,i)
100 nc(i,8)=ixs(9,i)
101 eintg(i)=zero
102 rhog(i)=zero
103 qg(i)=zero
104 sigg(i,1)=zero
105 sigg(i,2)=zero
106 sigg(i,3)=zero
107 sigg(i,4)=zero
108 sigg(i,5)=zero
109 sigg(i,6)=zero
110 stig(i,1)=zero
111 stig(i,2)=zero
112 stig(i,3)=zero
113 stig(i,4)=zero
114 stig(i,5)=zero
115 stig(i,6)=zero
116 stig(i,7)=zero
117 stig(i,8)=zero
118 conden(i,1:8)=zero
119 ENDDO
120 IF (g_pla > 0) THEN
121 DO i=1,nel
122 eplasm(i)=zero
123 ENDDO
124 ENDIF
125 IF (g_epsd > 0) THEN
126 DO i=1,nel
127 epsdg(i)=zero
128 ENDDO
129 ENDIF
130C
131 DO n=9,npe
132 DO i=1,nel
133 nc(i,n) =ixsp(n-8,i)
134 stig(i,n)=zero
135 conden(i,n)=zero
136 ENDDO
137 ENDDO
138C
139 IF (jlag==0)THEN
140 DO i=1,nel
141 vdx(i)=zero
142 vdy(i)=zero
143 vdz(i)=zero
144 ENDDO
145 ENDIF
146C
147 DO n=1,npe
148C----------------------------
149C NODAL COORDINATES |
150C----------------------------
151 IF(ismstr==1.OR.(ismstr==2.AND.idtmin(1)==3))THEN
152C
153 DO i=1,nel
154 IF(offg(i)>one)THEN
155 xx(i,n)=sav(i,n)
156 yy(i,n)=sav(i,n+npe)
157 zz(i,n)=sav(i,n+2*npe)
158 off(i) = offg(i)-one
159 ELSE
160 nn = max(iun,nc(i,n))
161 xx(i,n)=x(1,nn)
162 yy(i,n)=x(2,nn)
163 zz(i,n)=x(3,nn)
164 sav(i,n) =xx(i,n)
165 sav(i,n+npe) =yy(i,n)
166 sav(i,n+npe*2)=zz(i,n)
167 off(i) = offg(i)
168 ENDIF
169 ENDDO
170C
171 ELSE
172C
173 DO i=1,nel
174 nn = max(iun,nc(i,n))
175 xx(i,n)=x(1,nn)
176 yy(i,n)=x(2,nn)
177 zz(i,n)=x(3,nn)
178 off(i) = min(one,abs(offg(i)))
179 off_l = min(off_l,offg(i))
180 ENDDO
181C
182 ENDIF
183C
184 DO i=1,nel
185 nn = max(iun,nc(i,n))
186 vx(i,n)=v(1,nn)
187 vy(i,n)=v(2,nn)
188 vz(i,n)=v(3,nn)
189 fx(i,n)=zero
190 fy(i,n)=zero
191 fz(i,n)=zero
192 ENDDO
193 IF(off_l<0.)THEN
194 DO i=1,nel
195 IF(offg(i)<0.)THEN
196 vx(i,n)=zero
197 vy(i,n)=zero
198 vz(i,n)=zero
199 ENDIF
200 ENDDO
201 ENDIF
202C
203 IF (jlag==0)THEN
204C
205 IF(jale/=0)THEN
206 DO i=1,nel
207 nn = max(iun,nc(i,n))
208 vdxx(i,n)=vx(i,n)-w(1,nn)
209 vdyy(i,n)=vy(i,n)-w(2,nn)
210 vdzz(i,n)=vz(i,n)-w(3,nn)
211 ENDDO
212 ELSEIF(jeul/=0)THEN
213 DO i=1,nel
214 vdxx(i,n)=vx(i,n)
215 vdyy(i,n)=vy(i,n)
216 vdzz(i,n)=vz(i,n)
217 ENDDO
218 ENDIF
219C
220 DO i=1,nel
221 vdx(i)=vdx(i)+vdxx(i,n)
222 vdy(i)=vdy(i)+vdyy(i,n)
223 vdz(i)=vdz(i)+vdzz(i,n)
224 ENDDO
225 ENDIF
226 ENDDO
227C
228 IF (jlag==0)THEN
229 DO i=1,nel
230 vdx(i)=fourth*vdx(i)
231 vdy(i)=fourth*vdy(i)
232 vdz(i)=fourth*vdz(i)
233 vd2(i)=(vdx(i)**2+vdy(i)**2+vdz(i)**2)
234 ENDDO
235 ENDIF
236C
237 DO n=9,npe
238 n1=iperm1(n)
239 n2=iperm2(n)
240 DO i=1,nel
241 IF(nc(i,n)==0)THEN
242 xx(i,n) = half*(xx(i,n1)+xx(i,n2))
243 yy(i,n) = half*(yy(i,n1)+yy(i,n2))
244 zz(i,n) = half*(zz(i,n1)+zz(i,n2))
245 vx(i,n) = half*(vx(i,n1)+vx(i,n2))
246 vy(i,n) = half*(vy(i,n1)+vy(i,n2))
247 vz(i,n) = half*(vz(i,n1)+vz(i,n2))
248 ENDIF
249 ENDDO
250 ENDDO
251C-----------
252 RETURN
#define my_real
Definition cppsort.cpp:32
#define min(a, b)
Definition macros.h:20
#define max(a, b)
Definition macros.h:21