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
41 use element_mod , only : nixq
42C
43C-----------------------------------------------
44C I m p l i c i t T y p e s
45C-----------------------------------------------
46#include "implicit_f.inc"
47C-----------------------------------------------
48C G l o b a l P a r a m e t e r s
49C-----------------------------------------------
50#include "mvsiz_p.inc"
51C-----------------------------------------------
52C C o m m o n B l o c k s
53C-----------------------------------------------
54#include "com01_c.inc"
55#include "vect01_c.inc"
56C-----------------------------------------------
57C D u m m y A r g u m e n t s
58C-----------------------------------------------
59 INTEGER IXQ(NIXQ,*), NGL(*)
61 . volu(*), aire(*),
62 . y1(*), y2(*), y3(*), y4(*),
63 . z1(*), z2(*), z3(*), z4(*)
64C-----------------------------------------------
65C L o c a l V a r i a b l e s
66C-----------------------------------------------
67 INTEGER I
69 . a1(mvsiz), a2(mvsiz)
70C----------------------------------------------------------------------
71 DO i=lft,llt
72 a1(i) =y2(i)*(z3(i)-z4(i))+
73 . y3(i)*(z4(i)-z2(i))+y4(i)*(z2(i)-z3(i))
74 a2(i) =y2(i)*(z4(i)-z1(i))+
75 . y4(i)*(z1(i)-z2(i))+y1(i)*(z2(i)-z4(i))
76 aire(i)=(a1(i)+a2(i))* half
77 IF (aire(i)==zero) THEN
78 CALL ancmsg(msgid=227,
79 . msgtype=msgerror,
80 . anmode=aninfo_blind_1,
81 . i1=ixq(nixq,i))
82 ELSEIF(aire(i)<zero.AND.n2d==1) THEN
83 CALL ancmsg(msgid=1228,
84 . msgtype=msgerror,
85 . anmode=aninfo_blind_1,
86 . i1=ngl(i),
87 . prmod=msg_cumu)
88 aire(i) = -aire(i)
89 ENDIF
90 END DO
91
92 IF(n2d==1) THEN
93 DO i=lft,llt
94 volu(i)=((y2(i)+y3(i)+y4(i))*a1(i)+
95 . (y1(i)+y2(i)+y4(i))*a2(i))* one_over_6
96 END DO
97 ELSE
98 DO i=lft,llt
99 volu(i)=aire(i)
100 END DO
101 ENDIF
102
103 DO i=lft,llt
104 IF(volu(i)<=0.0)THEN
105 CALL ancmsg(msgid=228,
106 . msgtype=msgerror,
107 . anmode=aninfo,
108 . i1=ngl(i))
109 EXIT
110 END IF
111 END DO
112
113 RETURN
114
#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:895