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

Go to the source code of this file.

Functions/Subroutines

subroutine qbilan (partsav, off, eint, rho, rk, vol, vy1, vy2, vy3, vy4, vz1, vz2, vz3, vz4, vnew, ipartq, ehou, r22, r23, r32, r33, gresav, grth, igrth, iexpan, eintth, itask, nel, jtur, jcvt, igre, sensors, g_wpla, wpla)

Function/Subroutine Documentation

◆ qbilan()

subroutine qbilan ( partsav,
off,
eint,
rho,
rk,
vol,
vy1,
vy2,
vy3,
vy4,
vz1,
vz2,
vz3,
vz4,
vnew,
integer, dimension(*) ipartq,
ehou,
r22,
r23,
r32,
r33,
gresav,
integer, dimension(*) grth,
integer, dimension(*) igrth,
integer iexpan,
eintth,
integer itask,
integer, intent(in) nel,
integer, intent(in) jtur,
integer, intent(in) jcvt,
integer, intent(in) igre,
type (sensors_), intent(inout) sensors,
integer, intent(in) g_wpla,
intent(in) wpla )

Definition at line 35 of file qbilan.F.

45C-----------------------------------------------
46C M o d u l e s
47C-----------------------------------------------
48 USE sensor_mod
49C-----------------------------------------------
50C I m p l i c i t T y p e s
51C-----------------------------------------------
52#include "implicit_f.inc"
53C-----------------------------------------------
54C G l o b a l P a r a m e t e r s
55C-----------------------------------------------
56#include "mvsiz_p.inc"
57C----6------------------------------------------
58C C o m m o n B l o c k s
59C-----------------------------------------------
60#include "param_c.inc"
61C-----------------------------------------------
62C D u m m y A r g u m e n t s
63C-----------------------------------------------
64 INTEGER, INTENT(IN) :: NEL
65 INTEGER, INTENT(IN) :: JTUR
66 INTEGER, INTENT(IN) :: JCVT
67 INTEGER, INTENT(IN) :: IGRE
69 . partsav(npsav,*), off(*), eint(*), rho(*), rk(*), vol(*),
70 . vy1(*),vy2(*),vy3(*),vy4(*),vz1(*),vz2(*),vz3(*),vz4(*),
71 . vnew(*), ehou(*), r22(*), r23(*), r32(*), r33(*),gresav(*),
72 . eintth(*)
73 INTEGER IEXPAN,ITASK,
74 . IPARTQ(*),GRTH(*),IGRTH(*)
75 type (sensors_),INTENT(INOUT) :: SENSORS
76 INTEGER, INTENT(IN) :: G_WPLA
77 my_real,DIMENSION(NEL*G_WPLA), INTENT(IN) :: wpla
78C-----------------------------------------------
79C L o c a l V a r i a b l e s
80C-----------------------------------------------
82 . vya(mvsiz), vza(mvsiz), va2(mvsiz), xmas(mvsiz), vy, vz,
83 . off_sav(mvsiz),rbidon(1),ei_sav(mvsiz),ek_sav(mvsiz),
84 . xm_sav(mvsiz),ym_sav(mvsiz),zm_sav(mvsiz),ei(mvsiz),ek(mvsiz)
85 INTEGER I,M, FLAG
86C-----------------------------------------------
87 rbidon = zero
88 off_sav= zero
89 ei_sav = zero
90 ek_sav = zero
91 xm_sav = zero
92 ym_sav = zero
93 zm_sav = zero
94
95 DO i=1,nel
96 vya(i)=vy1(i)+vy2(i)+vy3(i)+vy4(i)
97 vza(i)=vz1(i)+vz2(i)+vz3(i)+vz4(i)
98 ENDDO
99
100 IF(jcvt/=0)THEN
101 DO i=1,nel
102 vy=r22(i)*vya(i)+r23(i)*vza(i)
103 vz=r32(i)*vya(i)+r33(i)*vza(i)
104 vya(i)=vy
105 vza(i)=vz
106 END DO
107 END IF
108
109 DO i=1,nel
110 va2(i)=
111 1 vy1(i)*vy1(i)+vy2(i)*vy2(i)+vy3(i)*vy3(i)+vy4(i)*vy4(i)
112 2 +vz1(i)*vz1(i)+vz2(i)*vz2(i)+vz3(i)*vz3(i)+vz4(i)*vz4(i)
113 ENDDO
114
115 DO i=1,nel
116 xmas(i)=rho(i)*vnew(i)*off(i)
117 ENDDO
118
119 flag = 0
120 IF (igre /= 0) THEN
121 DO i=1,nel
122 off_sav(i) = one
123 ei_sav(i) = eint(i)*vol(i)
124 ek_sav(i) = xmas(i)*va2(i)*one_over_8
125 xm_sav(i) = zero
126 ym_sav(i) = xmas(i)*vya(i)*fourth
127 zm_sav(i) = xmas(i)*vza(i)*fourth
128 ENDDO
129 CALL grelem_sav(1 ,nel ,gresav,igrth ,grth ,
130 2 off_sav,ei_sav,ek_sav,xm_sav,ym_sav,
131 3 zm_sav,xmas ,rbidon,rbidon,rbidon,
132 4 rbidon,rbidon,rbidon,rbidon,rbidon,
133 5 rbidon,rbidon,rbidon,rbidon,rbidon,
134 6 rbidon,flag)
135 ENDIF
136
137 DO i=1,nel
138 m=ipartq(i)
139 partsav(1,m)=partsav(1,m) + eint(i)*vol(i)*off(i)
140 partsav(2,m)=partsav(2,m) + xmas(i)*va2(i)*one_over_8
141 partsav(3,m)=zero
142 partsav(4,m)=partsav(4,m) + xmas(i)*vya(i)*fourth
143 partsav(5,m)=partsav(5,m) + xmas(i)*vza(i)*fourth
144 partsav(6,m)=partsav(6,m) + xmas(i)
145 IF (g_wpla > 0) partsav(29,m)=partsav(29,m) + wpla(i)
146 ENDDO
147
148 IF(jtur/=0)THEN
149 DO i=1,nel
150 m=ipartq(i)
151 partsav(7,m)=partsav(7,m) + rk(i)*vol(i)*off(i)
152 ENDDO
153 ENDIF
154
155 IF(iexpan/=0)THEN
156 DO i=1,nel
157 m=ipartq(i)
158 partsav(27,m)=partsav(27,m) + eintth(i)*vol(i)*off(i)
159 ENDDO
160 ENDIF
161
162 DO i=1,nel
163 m=ipartq(i)
164 ei(i) = eint(i)*vol(i)*off(i)
165 ek(i) = xmas(i)*va2(i)*one_over_8
166 ENDDO
167 CALL sensor_energy_bilan(1,nel,ei,ek,off,ipartq,itask,sensors)
168
169 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)