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

Go to the source code of this file.

Functions/Subroutines

subroutine gray30 (sig, eint, qold, vol, qnew, vnew, dvol, nel, p01, p02, e01, e02, pnew)

Function/Subroutine Documentation

◆ gray30()

subroutine gray30 ( sig,
eint,
qold,
vol,
qnew,
vnew,
dvol,
integer nel,
p01,
p02,
e01,
e02,
pnew )

Definition at line 28 of file gray30.F.

31C-----------------------------------------------
32C I m p l i c i t T y p e s
33C-----------------------------------------------
34#include "implicit_f.inc"
35C-----------------------------------------------
36C G l o b a l P a r a m e t e r s
37C-----------------------------------------------
38#include "mvsiz_p.inc"
39C-----------------------------------------------
40C D u m m y A r g u m e n t s
41C-----------------------------------------------
42 INTEGER NEL
44 . sig(nel,6), eint(*), qold(*), vol(*), qnew(*), vnew(*), dvol(*),
45 . p01(*), p02(*), e01(*), e02(*), pnew(*)
46C-----------------------------------------------
47C C o m m o n B l o c k s
48C-----------------------------------------------
49C-----------------------------------------------
50C L o c a l V a r i a b l e s
51C-----------------------------------------------
52 INTEGER I
54 . pe21(mvsiz),
55 . e21, p21, dede, dq, ei3
56C-----------------------------------------------
57C S o u r c e L i n e s
58C-----------------------------------------------
59
60 DO i=1,nel
61 e21 = e02(i)-e01(i)
62 p21 = p02(i)-p01(i)
63 IF(e21==zero)THEN
64 pe21(i) = zero
65 ELSE
66 pe21(i) = p21/e21
67 ENDIF
68 ENDDO !next I
69
70 DO i=1,nel
71 dede = dvol(i)*pe21(i)*half
72 dq = dvol(i)*(qnew(i)-qold(i))*half
73 qold(i) = qnew(i)
74 ei3 =(e02(i)-dq+e01(i)*dede)/(1.+dede)
75 ei3 = max(zero,ei3)
76 pnew(i) = p01(i)+(ei3-e01(i))*pe21(i)
77 eint(i) = eint(i)-dvol(i)*(pnew(i)+qnew(i))*half
78 eint(i) = eint(i)/vol(i)
79 ENDDO !next I
80
81 DO i=1,nel
82 sig(i,1) = sig(i,1)-pnew(i)
83 sig(i,2) = sig(i,2)-pnew(i)
84 sig(i,3) = sig(i,3)-pnew(i)
85 ENDDO !next I
86
87 RETURN
#define my_real
Definition cppsort.cpp:32
#define max(a, b)
Definition macros.h:21