OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
rbilan33.F
Go to the documentation of this file.
1Copyright> OpenRadioss
2Copyright> Copyright (C) 1986-2025 Altair Engineering Inc.
3Copyright>
4Copyright> This program is free software: you can redistribute it and/or modify
5Copyright> it under the terms of the GNU Affero General Public License as published by
6Copyright> the Free Software Foundation, either version 3 of the License, or
7Copyright> (at your option) any later version.
8Copyright>
9Copyright> This program is distributed in the hope that it will be useful,
10Copyright> but WITHOUT ANY WARRANTY; without even the implied warranty of
11Copyright> MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12Copyright> GNU Affero General Public License for more details.
13Copyright>
14Copyright> You should have received a copy of the GNU Affero General Public License
15Copyright> along with this program. If not, see <https://www.gnu.org/licenses/>.
16Copyright>
17Copyright>
18Copyright> Commercial Alternative: Altair Radioss Software
19Copyright>
20Copyright> As an alternative to this open-source version, Altair also offers Altair Radioss
21Copyright> software under a commercial license. Contact Altair to discuss further if the
22Copyright> commercial version may interest you: https://www.altair.com/radioss/.
23!||====================================================================
24!|| rbilan33 ../engine/source/elements/joint/rbilan33.F
25!||--- called by ------------------------------------------------------
26!|| rgjoint ../engine/source/elements/joint/rgjoint.F
27!||--- calls -----------------------------------------------------
28!|| grelem_sav ../engine/source/output/th/grelem_sav.F
29!||====================================================================
30 SUBROUTINE rbilan33(
31 1 JFT, JLT, EINT, PARTSAV,
32 2 UMAS, V, IPARTR, GRESAV,
33 3 GRTH, IGRTH, NC1, NC2,
34 4 IGRE)
35C-----------------------------------------------
36C I m p l i c i t T y p e s
37C-----------------------------------------------
38#include "implicit_f.inc"
39#include "comlock.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"
44#include "param_c.inc"
45C-----------------------------------------------
46C C o m m o n B l o c k s
47C-----------------------------------------------
48#include "com06_c.inc"
49C-----------------------------------------------
50C D u m m y A r g u m e n t s
51C-----------------------------------------------
52 INTEGER, INTENT(IN) :: IGRE
53 INTEGER JFT,JLT, IPARTR(*),GRTH(*),IGRTH(*),NC1(*),NC2(*)
54 my_real UMAS(*),EINT(*),PARTSAV(NPSAV,*),V(3,*),GRESAV(*)
55C-----------------------------------------------
56C L o c a l V a r i a b l e s
57C-----------------------------------------------
58 INTEGER I,MX, FLAG
59 my_real
60 . VXA, VYA, VZA, XMAS2, VA2, REINTT,
61 . EK(MVSIZ), XM(MVSIZ), YM(MVSIZ), ZM(MVSIZ),
62 . rbidon(1),off(mvsiz)
63C-----------------------------------------------
64 flag = 0
65 rbidon = zero
66 off = zero
67 reintt = zero
68 DO i=jft,jlt
69 reintt=reintt + eint(i)
70 ENDDO
71C
72!$OMP ATOMIC
73 reint = reint + reintt
74C
75 DO i=jft,jlt
76 xmas2=umas(i)*half
77 vxa=v(1,nc1(i))+v(1,nc2(i))
78 vya=v(2,nc1(i))+v(2,nc2(i))
79 vza=v(3,nc1(i))+v(3,nc2(i))
80 xm(i)= xmas2*vxa
81 ym(i)= xmas2*vya
82 zm(i)= xmas2*vza
83 va2 =v(1,nc1(i))*v(1,nc1(i))+v(1,nc2(i))*v(1,nc2(i))
84 . +v(2,nc1(i))*v(2,nc1(i))+v(2,nc2(i))*v(2,nc2(i))
85 . +v(3,nc1(i))*v(3,nc1(i))+v(3,nc2(i))*v(3,nc2(i))
86 ek(i)= xmas2*va2*half
87 ENDDO
88C
89 IF (igre /= 0) THEN
90 flag = 0
91 CALL grelem_sav(jft ,jlt ,gresav,igrth ,grth ,
92 2 off ,eint ,ek ,xm ,ym ,
93 3 zm ,umas ,rbidon,rbidon,rbidon,
94 4 rbidon,rbidon,rbidon,rbidon,rbidon,
95 5 rbidon,rbidon,rbidon,rbidon,rbidon,
96 6 rbidon,flag)
97 ENDIF
98C
99 DO i=jft,jlt
100 mx = ipartr(i)
101 partsav(1,mx)= partsav(1,mx) + eint(i)
102 partsav(2,mx)= partsav(2,mx) + ek(i)
103 partsav(3,mx)= partsav(3,mx) + xm(i)
104 partsav(4,mx)= partsav(4,mx) + ym(i)
105 partsav(5,mx)= partsav(5,mx) + zm(i)
106 partsav(6,mx)= partsav(6,mx) + umas(i)
107 ENDDO
108C
109 RETURN
110 END
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 rbilan33(jft, jlt, eint, partsav, umas, v, ipartr, gresav, grth, igrth, nc1, nc2, igre)
Definition rbilan33.F:35