OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
spbilan.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 spbilan (v, partsav, nc1, eint, rho, rk, vol, vnew, ipartsp, offg, gresav, grth, igrth, eintth, iexpan, x, lft, llt, jtur, igre)

Function/Subroutine Documentation

◆ spbilan()

subroutine spbilan ( v,
partsav,
integer, dimension(*) nc1,
eint,
rho,
rk,
vol,
vnew,
integer, dimension(*) ipartsp,
offg,
gresav,
integer, dimension(*) grth,
integer, dimension(*) igrth,
eintth,
integer iexpan,
x,
integer, intent(inout) lft,
integer, intent(inout) llt,
integer, intent(inout) jtur,
integer, intent(inout) igre )

Definition at line 30 of file spbilan.F.

36C-----------------------------------------------
37C I m p l i c i t T y p e s
38C-----------------------------------------------
39#include "implicit_f.inc"
40C-----------------------------------------------
41C G l o b a l P a r a m e t e r s
42C-----------------------------------------------
43#include "mvsiz_p.inc"
44C-----------------------------------------------
45C C o m m o n B l o c k s
46C-----------------------------------------------
47#include "param_c.inc"
48C-----------------------------------------------
49C D u m m y A r g u m e n t s
50C-----------------------------------------------
51 INTEGER, INTENT(INOUT) :: LFT
52 INTEGER, INTENT(INOUT) :: LLT
53 INTEGER, INTENT(INOUT) :: JTUR
54 INTEGER, INTENT(INOUT) :: IGRE
55C REAL
57 . v(3,*),x(3,*),
58 . partsav(npsav,*), eint(*), rho(*), rk(*), vol(*),
59 . vnew(*),offg(*),gresav(*),eintth(*)
60 INTEGER NC1(*),IPARTSP(*),GRTH(*),IGRTH(*),IEXPAN
61C-----------------------------------------------
62C L o c a l V a r i a b l e s
63C-----------------------------------------------
64 INTEGER I, M, FLAG
65C REAL
67 . vxa(mvsiz),vya(mvsiz),vza(mvsiz),va2(mvsiz),xmas(mvsiz),
68 . rbidon(1),off(mvsiz),ei(mvsiz),ek(mvsiz),
69 . xm(mvsiz),ym(mvsiz),zm(mvsiz),
70 . xx(mvsiz), yy(mvsiz), zz(mvsiz),
71 . xcg(mvsiz), ycg(mvsiz), zcg(mvsiz),
72 . xy(mvsiz) , yz(mvsiz) , zx(mvsiz),
73 . xx2(mvsiz), yy2(mvsiz), zz2(mvsiz),
74 . xxm(mvsiz), yym(mvsiz), zzm(mvsiz),
75 . ixx(mvsiz), iyy(mvsiz), izz(mvsiz),
76 . ixy(mvsiz), iyz(mvsiz), izx(mvsiz),
77 . rei(mvsiz), rek(mvsiz)
78C-----------------------------------------------
79 rbidon = zero
80 off = zero
81 ei = zero
82 ek = zero
83 xm = zero
84 ym = zero
85 zm = zero
86C
87C NODAL VELOCITIES AND COORDINATES
88 DO 20 i=lft,llt
89 vxa(i)=v(1,nc1(i))
90 vya(i)=v(2,nc1(i))
91 vza(i)=v(3,nc1(i))
92 va2(i)=vxa(i)*vxa(i)+vya(i)*vya(i)+vza(i)*vza(i)
93 xx(i) =x(1,nc1(i))
94 yy(i) =x(2,nc1(i))
95 zz(i) =x(3,nc1(i))
96 xx2(i)=x(1,nc1(i))**2
97 yy2(i)=x(2,nc1(i))**2
98 zz2(i)=x(3,nc1(i))**2
99 xy(i) =x(1,nc1(i))*x(2,nc1(i))
100 yz(i) =x(2,nc1(i))*x(3,nc1(i))
101 zx(i) =x(3,nc1(i))*x(1,nc1(i))
102 20 CONTINUE
103C
104 DO i=lft,llt
105 xmas(i)=rho(i)*vnew(i)
106 ei(i) = eint(i)*vol(i)
107 ek(i) = xmas(i)*va2(i)*half
108 off(i) = one
109 xm(i) = xmas(i)*vxa(i)
110 ym(i) = xmas(i)*vya(i)
111 zm(i) = xmas(i)*vza(i)
112 ENDDO
113
114 DO i=lft,llt
115 xcg(i)= xmas(i)*xx(i)
116 ycg(i)= xmas(i)*yy(i)
117 zcg(i)= xmas(i)*zz(i)
118 ixy(i)= -xmas(i)*xy(i)
119 iyz(i)= -xmas(i)*yz(i)
120 izx(i)= -xmas(i)*zx(i)
121 ixx(i)= xmas(i)*(yy2(i) + zz2(i))
122 iyy(i)= xmas(i)*(zz2(i) + xx2(i))
123 izz(i)= xmas(i)*(xx2(i) + yy2(i))
124 xxm(i)= vza(i)*ycg(i)-vya(i)*zcg(i)
125 yym(i)= vxa(i)*zcg(i)-vza(i)*xcg(i)
126 zzm(i)= vya(i)*xcg(i)-vxa(i)*ycg(i)
127 rei(i)= zero
128 rek(i)= zero
129 ENDDO
130
131 flag = 0
132 IF (igre /= 0) THEN
133 CALL grelem_sav(lft ,llt ,gresav,igrth ,grth ,
134 2 off ,ei ,ek ,xm ,ym ,
135 3 zm ,xmas ,xcg ,ycg ,zcg ,
136 4 xxm ,yym ,zzm ,ixx ,iyy ,
137 5 izz ,ixy ,iyz ,izx ,rei ,
138 6 rek ,flag )
139 ENDIF
140C
141 DO i=lft,llt
142 m=ipartsp(i)
143 partsav(1,m)=partsav(1,m) + eint(i)*vol(i)
144 partsav(2,m)=partsav(2,m) + xmas(i)*va2(i)*half
145 partsav(6,m)=partsav(6,m) + xmas(i)
146 partsav(3,m)=partsav(3,m) + xmas(i)*vxa(i)
147 partsav(4,m)=partsav(4,m) + xmas(i)*vya(i)
148 partsav(5,m)=partsav(5,m) + xmas(i)*vza(i)
149 partsav(9,m) =partsav(9,m) + xcg(i)
150 partsav(10,m)=partsav(10,m) + ycg(i)
151 partsav(11,m)=partsav(11,m) + zcg(i)
152 partsav(12,m)=partsav(12,m) + xxm(i)
153 partsav(13,m)=partsav(13,m) + yym(i)
154 partsav(14,m)=partsav(14,m) + zzm(i)
155 partsav(15,m)=partsav(15,m) + ixx(i)
156 partsav(16,m)=partsav(16,m) + iyy(i)
157 partsav(17,m)=partsav(17,m) + izz(i)
158 partsav(18,m)=partsav(18,m) + ixy(i)
159 partsav(19,m)=partsav(19,m) + iyz(i)
160 partsav(20,m)=partsav(20,m) + izx(i)
161 partsav(21,m)=partsav(21,m) + rei(i)
162 partsav(22,m)=partsav(22,m) + rek(i)
163 ENDDO
164C
165 IF(jtur/=0)THEN
166 DO 50 i=lft,llt
167 IF(offg(i)>zero)THEN
168 m=ipartsp(i)
169 partsav(7,m)=partsav(7,m) + rk(i)*vol(i)
170 ENDIF
171 50 CONTINUE
172 ENDIF
173
174Cbm THERMAL EXPANSION
175 IF(iexpan/=0)THEN
176 DO i=lft,llt
177 m=ipartsp(i)
178 partsav(27,m)=partsav(27,m) + eintth(i)*vol(i)
179 END DO
180 ENDIF
181
182C
183 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