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

Go to the source code of this file.

Functions/Subroutines

subroutine qvoli2 (volu, ixq, ngl, aire, y1, y2, y3, y4, z1, z2, z3, z4)

Function/Subroutine Documentation

◆ qvoli2()

subroutine qvoli2 ( volu,
integer, dimension(nixq,*) ixq,
integer, dimension(*) ngl,
aire,
y1,
y2,
y3,
y4,
z1,
z2,
z3,
z4 )

Definition at line 36 of file qvoli2.F.

40 USE message_mod
41C
42C-----------------------------------------------
43C I m p l i c i t T y p e s
44C-----------------------------------------------
45#include "implicit_f.inc"
46C-----------------------------------------------
47C G l o b a l P a r a m e t e r s
48C-----------------------------------------------
49#include "mvsiz_p.inc"
50C-----------------------------------------------
51C C o m m o n B l o c k s
52C-----------------------------------------------
53#include "com01_c.inc"
54#include "vect01_c.inc"
55C-----------------------------------------------
56C D u m m y A r g u m e n t s
57C-----------------------------------------------
58 INTEGER IXQ(NIXQ,*), NGL(*)
60 . volu(*), aire(*),
61 . y1(*), y2(*), y3(*), y4(*),
62 . z1(*), z2(*), z3(*), z4(*)
63C-----------------------------------------------
64C L o c a l V a r i a b l e s
65C-----------------------------------------------
66 INTEGER I
68 . a1(mvsiz), a2(mvsiz)
69C----------------------------------------------------------------------
70 DO i=lft,llt
71 a1(i) =y2(i)*(z3(i)-z4(i))+
72 . y3(i)*(z4(i)-z2(i))+y4(i)*(z2(i)-z3(i))
73 a2(i) =y2(i)*(z4(i)-z1(i))+
74 . y4(i)*(z1(i)-z2(i))+y1(i)*(z2(i)-z4(i))
75 aire(i)=(a1(i)+a2(i))* half
76 IF (aire(i)==zero) THEN
77 CALL ancmsg(msgid=227,
78 . msgtype=msgerror,
79 . anmode=aninfo_blind_1,
80 . i1=ixq(nixq,i))
81 ELSEIF(aire(i)<zero.AND.n2d==1) THEN
82 CALL ancmsg(msgid=1228,
83 . msgtype=msgerror,
84 . anmode=aninfo_blind_1,
85 . i1=ngl(i),
86 . prmod=msg_cumu)
87 aire(i) = -aire(i)
88 ENDIF
89 END DO
90
91 IF(n2d==1) THEN
92 DO i=lft,llt
93 volu(i)=((y2(i)+y3(i)+y4(i))*a1(i)+
94 . (y1(i)+y2(i)+y4(i))*a2(i))* one_over_6
95 END DO
96 ELSE
97 DO i=lft,llt
98 volu(i)=aire(i)
99 END DO
100 ENDIF
101
102 DO i=lft,llt
103 IF(volu(i)<=0.0)THEN
104 CALL ancmsg(msgid=228,
105 . msgtype=msgerror,
106 . anmode=aninfo,
107 . i1=ngl(i))
108 EXIT
109 END IF
110 END DO
111
112 RETURN
113
#define my_real
Definition cppsort.cpp:32
subroutine ancmsg(msgid, msgtype, anmode, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, r1, r2, r3, r4, r5, r6, r7, r8, r9, c1, c2, c3, c4, c5, c6, c7, c8, c9, prmode)
Definition message.F:889