OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
s16coor3.F File Reference
#include "implicit_f.inc"
#include "mvsiz_p.inc"
#include "vect01_c.inc"
#include "com04_c.inc"

Go to the source code of this file.

Functions/Subroutines

subroutine s16coor3 (x, v, ixs, ixs16, xx, yy, zz, vx, vy, vz, nc, ngl, mxt, ngeo, mass, dtelem, sti, sigg, eintg, rhog, qg, temp0, temp, nel, nintemp)

Function/Subroutine Documentation

◆ s16coor3()

subroutine s16coor3 ( x,
v,
integer, dimension(nixs,*) ixs,
integer, dimension(8,*) ixs16,
xx,
yy,
zz,
vx,
vy,
vz,
integer, dimension(mvsiz,16) nc,
integer, dimension(*) ngl,
integer, dimension(*) mxt,
integer, dimension(*) ngeo,
mass,
dtelem,
sti,
sigg,
eintg,
rhog,
qg,
temp0,
temp,
integer nel,
integer, intent(in) nintemp )

Definition at line 32 of file s16coor3.F.

38C-----------------------------------------------
39 USE message_mod
40 use element_mod , only : nixs
41C-----------------------------------------------
42C I m p l i c i t T y p e s
43C-----------------------------------------------
44#include "implicit_f.inc"
45C-----------------------------------------------
46C G l o b a l P a r a m e t e r s
47C-----------------------------------------------
48#include "mvsiz_p.inc"
49C-----------------------------------------------
50C C o m m o n B l o c k s
51C-----------------------------------------------
52#include "vect01_c.inc"
53#include "com04_c.inc"
54C-----------------------------------------------
55C D u m m y A r g u m e n t s
56C-----------------------------------------------
57 INTEGER NEL
58 INTEGER ,INTENT(IN) :: NINTEMP
59 INTEGER NC(MVSIZ,16),MXT(*),NGL(*),NGEO(*),IXS(NIXS,*),IXS16(8,*)
60C REAL
62 . x(3,*), v(3,*), xx(mvsiz,16), yy(mvsiz,16), zz(mvsiz,16),
63 . vx(mvsiz,16), vy(mvsiz,16), vz(mvsiz,16),
64 . mass(mvsiz),dtelem(*),sti(*),
65 . sigg(nel,6),eintg(*),rhog(*),qg(*),temp0(*), temp(*)
66C-----------------------------------------------
67C L o c a l V a r i a b l e s
68C-----------------------------------------------
69 INTEGER I, IPERM1(16),IPERM2(16),N,N1,N2,NN,IUN
70C REAL
71 DATA iperm1/0,0,0,0,0,0,0,0,1,2,3,4,5,6,7,8/
72 DATA iperm2/0,0,0,0,0,0,0,0,2,3,4,1,6,7,8,5/
73C-----------------------------------------------
74C E x t e r n a l F u n c t i o n s
75C-----------------------------------------------
78C=======================================================================
79 iun =1
80C
81 DO i=lft,llt
82 ngeo(i)=ixs(10,i)
83 ngl(i) =ixs(11,i)
84 mxt(i) =ixs(1,i)
85 nc(i,1)=ixs(2,i)
86 nc(i,2)=ixs(3,i)
87 nc(i,3)=ixs(4,i)
88 nc(i,4)=ixs(5,i)
89 nc(i,5)=ixs(6,i)
90 nc(i,6)=ixs(7,i)
91 nc(i,7)=ixs(8,i)
92 nc(i,8)=ixs(9,i)
93 nc(i,9) =ixs16(1,i)
94 nc(i,10) =ixs16(2,i)
95 nc(i,11) =ixs16(3,i)
96 nc(i,12) =ixs16(4,i)
97 nc(i,13) =ixs16(5,i)
98 nc(i,14) =ixs16(6,i)
99 nc(i,15) =ixs16(7,i)
100 nc(i,16) =ixs16(8,i)
101 dtelem(i)=ep30
102 sti(i)=zero
103 eintg(i)=zero
104 rhog(i)=zero
105 qg(i)=zero
106 sigg(i,1)=zero
107 sigg(i,2)=zero
108 sigg(i,3)=zero
109 sigg(i,4)=zero
110 sigg(i,5)=zero
111 sigg(i,6)=zero
112 IF (checkvolume_8n(x ,ixs(1,i)) < zero) THEN
113C renumber connectivity
114 nc(i,1) =ixs(6,i)
115 nc(i,2) =ixs(7,i)
116 nc(i,3) =ixs(8,i)
117 nc(i,4) =ixs(9,i)
118 nc(i,5) =ixs(2,i)
119 nc(i,6) =ixs(3,i)
120 nc(i,7) =ixs(4,i)
121 nc(i,8) =ixs(5,i)
122 nc(i,9) =ixs16(5,i)
123 nc(i,10)=ixs16(6,i)
124 nc(i,11)=ixs16(7,i)
125 nc(i,12)=ixs16(8,i)
126 nc(i,13)=ixs16(1,i)
127 nc(i,14)=ixs16(2,i)
128 nc(i,15)=ixs16(3,i)
129 nc(i,16)=ixs16(4,i)
130 ixs(2,i) = nc(i,1)
131 ixs(3,i) = nc(i,2)
132 ixs(4,i) = nc(i,3)
133 ixs(5,i) = nc(i,4)
134 ixs(6,i) = nc(i,5)
135 ixs(7,i) = nc(i,6)
136 ixs(8,i) = nc(i,7)
137 ixs(9,i) = nc(i,8)
138 ixs16(1,i) = nc(i,9)
139 ixs16(2,i) = nc(i,10)
140 ixs16(3,i) = nc(i,11)
141 ixs16(4,i) = nc(i,12)
142 ixs16(5,i) = nc(i,13)
143 ixs16(6,i) = nc(i,14)
144 ixs16(7,i) = nc(i,15)
145 ixs16(8,i) = nc(i,16)
146 ENDIF
147 ENDDO
148C
149C----------------------------
150C NODAL COORDINATES |
151C----------------------------
152 DO n=1,16
153 DO i=lft,llt
154 nn = max(iun,nc(i,n))
155 xx(i,n)=x(1,nn)
156 yy(i,n)=x(2,nn)
157 zz(i,n)=x(3,nn)
158 vx(i,n)=v(1,nn)
159 vy(i,n)=v(2,nn)
160 vz(i,n)=v(3,nn)
161 ENDDO
162 ENDDO
163C
164 DO i=lft,llt
165 mass(i)=zero
166 ENDDO
167C
168 DO n=9,16
169 n1=iperm1(n)
170 n2=iperm2(n)
171 DO i=lft,llt
172 IF(nc(i,n)==0)THEN
173 xx(i,n) = half*(xx(i,n1)+xx(i,n2))
174 yy(i,n) = half*(yy(i,n1)+yy(i,n2))
175 zz(i,n) = half*(zz(i,n1)+zz(i,n2))
176 vx(i,n) = half*(vx(i,n1)+vx(i,n2))
177 vy(i,n) = half*(vy(i,n1)+vy(i,n2))
178 vz(i,n) = half*(vz(i,n1)+vz(i,n2))
179 ENDIF
180 ENDDO
181 ENDDO
182C
183 IF (jthe < 0 .or. nintemp > 0) THEN
184 IF(nintemp > 0 ) THEN
185 DO n =1,16
186 DO i=lft,llt
187 nn = max(iun,nc(i,n))
188 IF(temp(nn)== zero) temp(nn) = temp0(i)
189 ENDDO
190 ENDDO
191 ELSE
192 DO n =1,16
193 DO i=lft,llt
194 nn = max(iun,nc(i,n))
195 temp(nn) = temp0(i)
196 ENDDO
197 ENDDO
198 ENDIF
199 ENDIF
200C-----------
201 RETURN
function checkvolume_8n(x, ixs)
#define my_real
Definition cppsort.cpp:32
#define max(a, b)
Definition macros.h:21