OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
volpfv.F File Reference
#include "implicit_f.inc"
#include "com06_c.inc"
#include "com08_c.inc"
#include "task_c.inc"

Go to the source code of this file.

Functions/Subroutines

subroutine volpfv (ivolu, rvolu, vol, fsav, npc, tf, pmain, wfext, python, nfunct)

Function/Subroutine Documentation

◆ volpfv()

subroutine volpfv ( integer, dimension(*) ivolu,
rvolu,
vol,
fsav,
integer, dimension(*) npc,
tf,
integer pmain,
double precision, intent(inout) wfext,
type(python_), intent(inout) python,
integer, intent(in) nfunct )

Definition at line 31 of file volpfv.F.

33 USE python_funct_mod
34 USE finter_mixed_mod
35C-----------------------------------------------
36C I m p l i c i t T y p e s
37C-----------------------------------------------
38#include "implicit_f.inc"
39C-----------------------------------------------
40C C o m m o n B l o c k s
41C-----------------------------------------------
42#include "com06_c.inc"
43#include "com08_c.inc"
44#include "task_c.inc"
45C-----------------------------------------------
46C D u m m y A r g u m e n t s
47C-----------------------------------------------
48 INTEGER NPC(*),IVOLU(*), PMAIN
49 my_real tf(*),rvolu(*),fsav(*)
50 DOUBLE PRECISION,INTENT(INOUT) :: WFEXT
51 TYPE(PYTHON_), intent(inout) :: PYTHON
52 INTEGER, intent(in) :: NFUNCT
53C-----------------------------------------------
54C L o c a l V a r i a b l e s
55C-----------------------------------------------
56 INTEGER ITFUN,ITYPFUN
57 my_real vol,v0,area,veps,vinc,pold,pext,vold,pres,q,qold,dv,scale,xfun
58C-----------------------------------------------
59C
60C CALCUL DE LA PRESSION
61C
62 itfun =ivolu(7)
63 itypfun=ivolu(19)
64 pext =rvolu(3)
65 v0 =rvolu(4)
66 vinc =rvolu(5)
67 pold =rvolu(12)
68 vold =rvolu(16)
69 veps =rvolu(17)
70 area =rvolu(18)
71 qold =rvolu(23)
72 scale =rvolu(15)
73 vol = vol + veps
74 v0 = v0
75 SELECT CASE (itypfun)
76 CASE(0)
77 xfun = (v0-vinc)/(vol-vinc)
78 CASE(1, 3)
79 xfun = tt
80 CASE(2)
81 xfun = (vol-vinc) / (v0-vinc)
82 CASE DEFAULT
83
84 END SELECT
85 pres = scale * finter_mixed(python,nfunct,itfun,xfun,npc,tf)
86 IF (itypfun == 3) THEN
87 pres = pres * (v0-vinc) / (vol-vinc)
88 ENDIF
89 q = zero
90 IF (ispmd+1==pmain) THEN
91 dv=vol-vold
92 wfext=wfext+(half*(q+qold+pres+pold))*dv
93 fsav(1)=zero
94 fsav(2)=vol
95 fsav(3)=pres
96 fsav(4)=area
97 fsav(5)=zero
98 fsav(6)=zero
99 fsav(7)=zero
100 fsav(8)=zero
101 fsav(9)=zero
102 fsav(10)=zero
103 fsav(11)=zero
104 fsav(12)=zero
105 ENDIF
106C
107 rvolu(16)=vol
108 rvolu(12)=pres
109 rvolu(23)=q
110C
111 RETURN
#define my_real
Definition cppsort.cpp:32
subroutine area(d1, x, x2, y, y2, eint, stif0)