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

Go to the source code of this file.

Functions/Subroutines

subroutine s6cbilan (partsav, eint, rho, rk, vol, vxa, vya, vza, va2, vnew, iparts, gresav, grth, igrth, off, iexpan, eintth, fill, xx, yy, zz, xx2, yy2, zz2, xy, yz, zx, itask, iparg, offg, sensors, nel, g_wpla, wpla)

Function/Subroutine Documentation

◆ s6cbilan()

subroutine s6cbilan ( partsav,
eint,
rho,
rk,
vol,
vxa,
vya,
vza,
va2,
vnew,
integer, dimension(*) iparts,
gresav,
integer, dimension(*) grth,
integer, dimension(*) igrth,
off,
integer iexpan,
eintth,
fill,
xx,
yy,
zz,
xx2,
yy2,
zz2,
xy,
yz,
zx,
integer itask,
integer, dimension(*) iparg,
dimension(mvsiz), intent(in) offg,
type (sensors_), intent(inout) sensors,
integer, intent(in) nel,
integer, intent(in) g_wpla,
intent(in) wpla )

Definition at line 34 of file s6cbilan.F.

40C-----------------------------------------------
41C M o d u l e s
42C-----------------------------------------------
43 USE sensor_mod
44C-----------------------------------------------
45C I m p l i c i t T y p e s
46C-----------------------------------------------
47#include "implicit_f.inc"
48C-----------------------------------------------
49C G l o b a l P a r a m e t e r s
50C-----------------------------------------------
51#include "mvsiz_p.inc"
52C-----------------------------------------------
53C C o m m o n B l o c k s
54C-----------------------------------------------
55#include "param_c.inc"
56#include "vect01_c.inc"
57C-----------------------------------------------
58C D u m m y A r g u m e n t s
59C-----------------------------------------------
60C REAL
62 . partsav(npsav,*), eint(*), rho(*), rk(*), vol(*),
63 . vxa(*), vya(*), vza(*), va2(*),
64 . vnew(*), gresav(*), off(mvsiz), eintth(*), fill(*),
65 . xx(*), yy(*), zz(*),
66 . xx2(mvsiz), yy2(mvsiz), zz2(mvsiz),
67 . xy(mvsiz), yz(mvsiz), zx(mvsiz)
68 INTEGER IEXPAN,ITASK,
69 . IPARTS(*),GRTH(*),IGRTH(*),IPARG(*)
70 my_real, INTENT(IN) :: offg(mvsiz)
71 type (sensors_),INTENT(INOUT) :: SENSORS
72 INTEGER, INTENT(IN) :: NEL,G_WPLA
73 my_real,DIMENSION(NEL*G_WPLA), INTENT(IN) :: wpla
74C-----------------------------------------------
75C L o c a l V a r i a b l e s
76C-----------------------------------------------
77 INTEGER I, M, FLAG
78C REAL
80 . xmas(mvsiz),
81 . ei(mvsiz) , ek(mvsiz),
82 . xm(mvsiz) , ym(mvsiz) , zm(mvsiz),
83 . xcg(mvsiz), ycg(mvsiz), zcg(mvsiz),
84 . xxm(mvsiz), yym(mvsiz), zzm(mvsiz),
85 . ixx(mvsiz), iyy(mvsiz), izz(mvsiz),
86 . ixy(mvsiz), iyz(mvsiz), izx(mvsiz),
87 . rei(mvsiz), rek(mvsiz), off_l(mvsiz)
88C-----------------------------------------------
89 flag = iparg(80) ! flag for additional outputs
90C-----------------------------------------------
91C CALCUL BILAN SORTIES DEF
92C-----------------------------------------------
93 DO i=lft,llt
94 vxa(i) = vxa(i)*one_over_6
95 vya(i) = vya(i)*one_over_6
96 vza(i) = vza(i)*one_over_6
97 va2(i) = va2(i)*one_over_6
98 ENDDO
99C
100 DO i=lft,llt
101 xmas(i)=fill(i)*rho(i)*vnew(i)
102 ei(i) = fill(i)*eint(i)*vol(i)
103 ek(i) = xmas(i)*va2(i)*half
104 xm(i) = xmas(i)*vxa(i)
105 ym(i) = xmas(i)*vya(i)
106 zm(i) = xmas(i)*vza(i)
107 ENDDO
108C
109 DO i=lft,llt
110 m=iparts(i)
111 partsav(1,m)=partsav(1,m) + ei(i)
112 partsav(2,m)=partsav(2,m) + ek(i)
113 partsav(3,m)=partsav(3,m) + xm(i)
114 partsav(4,m)=partsav(4,m) + ym(i)
115 partsav(5,m)=partsav(5,m) + zm(i)
116 IF (offg(i) >= one) partsav(6,m)=partsav(6,m) + xmas(i)
117 IF (g_wpla > 0) partsav(29,m)=partsav(29,m) + wpla(i)
118 END DO
119C
120C-----------------------------------------------
121C CALCUL BILAN SORTIES ADDITIONNELLES
122C-----------------------------------------------
123 IF(flag==1) THEN
124 DO i=lft,llt
125 xx(i) = xx(i)*one_over_6
126 yy(i) = yy(i)*one_over_6
127 zz(i) = zz(i)*one_over_6
128 xy(i) = xy(i)*one_over_6
129 yz(i) = yz(i)*one_over_6
130 zx(i) = zx(i)*one_over_6
131 xx2(i)= xx2(i)*one_over_6
132 yy2(i)= yy2(i)*one_over_6
133 zz2(i)= zz2(i)*one_over_6
134 ENDDO
135C
136 DO i=lft,llt
137 xcg(i)= xmas(i)*xx(i)
138 ycg(i)= xmas(i)*yy(i)
139 zcg(i)= xmas(i)*zz(i)
140 ixy(i)= -xmas(i)*xy(i)
141 iyz(i)= -xmas(i)*yz(i)
142 izx(i)= -xmas(i)*zx(i)
143 ixx(i)= xmas(i)*(yy2(i) + zz2(i))
144 iyy(i)= xmas(i)*(zz2(i) + xx2(i))
145 izz(i)= xmas(i)*(xx2(i) + yy2(i))
146 xxm(i)= vza(i)*ycg(i)-vya(i)*zcg(i)
147 yym(i)= vxa(i)*zcg(i)-vza(i)*xcg(i)
148 zzm(i)= vya(i)*xcg(i)-vxa(i)*ycg(i)
149 rei(i)= zero
150 rek(i)= zero
151 ENDDO
152C
153 DO i=lft,llt
154 IF(off(i) < one) cycle
155 m=iparts(i)
156 partsav(9,m) =partsav(9,m) + xcg(i)
157 partsav(10,m)=partsav(10,m) + ycg(i)
158 partsav(11,m)=partsav(11,m) + zcg(i)
159 partsav(12,m)=partsav(12,m) + xxm(i)
160 partsav(13,m)=partsav(13,m) + yym(i)
161 partsav(14,m)=partsav(14,m) + zzm(i)
162 partsav(15,m)=partsav(15,m) + ixx(i)
163 partsav(16,m)=partsav(16,m) + iyy(i)
164 partsav(17,m)=partsav(17,m) + izz(i)
165 partsav(18,m)=partsav(18,m) + ixy(i)
166 partsav(19,m)=partsav(19,m) + iyz(i)
167 partsav(20,m)=partsav(20,m) + izx(i)
168 partsav(21,m)=partsav(21,m) + rei(i)
169 partsav(22,m)=partsav(22,m) + rek(i)
170
171C PARTSAV(8,M)=PARTSAV(8,M) + EHOU(I)
172 END DO
173 ENDIF
174C
175C-----------------------------------------------
176 IF (igre /= 0) THEN
177 CALL grelem_sav(lft ,llt ,gresav,igrth ,grth ,
178 2 off ,ei ,ek ,xm ,ym ,
179 3 zm ,xmas ,xcg ,ycg ,zcg ,
180 4 xxm ,yym ,zzm ,ixx ,iyy ,
181 5 izz ,ixy ,iyz ,izx ,rei ,
182 6 rek ,flag )
183 ENDIF
184C-----------------------------------------------
185C
186 IF(jtur/=0)THEN
187 DO 50 i=lft,llt
188 m=iparts(i)
189 partsav(7,m)=partsav(7,m) + rk(i)*vol(i)
190 50 CONTINUE
191 ENDIF
192C
193 IF(iexpan/=0)THEN
194 DO i=lft,llt
195 m=iparts(i)
196 partsav(27,m)=partsav(27,m) + eintth(i)*vol(i)
197 ENDDO
198 ENDIF
199C
200 DO i=lft,llt
201 IF(off(i) < one) THEN
202 off_l(i) = zero
203 ELSE
204 off_l(i) = one
205 ENDIF
206 ENDDO
207C
208 DO i = lft,llt
209 m=iparts(i)
210 IF (offg(i) < one) THEN
211 partsav(25,m) = partsav(25,m) + one
212 ENDIF
213 ENDDO
214C
215 CALL sensor_energy_bilan(lft,llt,ei,ek,off_l,iparts,itask,sensors)
216C
217 RETURN
#define my_real
Definition cppsort.cpp:32
subroutine grelem_sav(jft, jlt, gresav, igrth, grth, off, ei, ek, xm, ym, zm, xmas, xcg, ycg, zcg, xxm, yym, zzm, ixx, iyy, izz, ixy, iyz, izx, rei, rek, flag)
Definition grelem_sav.F:54
subroutine sensor_energy_bilan(jft, jlt, ei, ek, off, ipart, itask, sensors)