OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
q4voli2.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 q4voli2 (volu, ixq, ngl, aire, y1, y2, y3, y4, z1, z2, z3, z4, y234, y124)

Function/Subroutine Documentation

◆ q4voli2()

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

Definition at line 32 of file q4voli2.F.

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