OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
volpfv.F
Go to the documentation of this file.
1Copyright> OpenRadioss
2Copyright> Copyright (C) 1986-2025 Altair Engineering Inc.
3Copyright>
4Copyright> This program is free software: you can redistribute it and/or modify
5Copyright> it under the terms of the GNU Affero General Public License as published by
6Copyright> the Free Software Foundation, either version 3 of the License, or
7Copyright> (at your option) any later version.
8Copyright>
9Copyright> This program is distributed in the hope that it will be useful,
10Copyright> but WITHOUT ANY WARRANTY; without even the implied warranty of
11Copyright> MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12Copyright> GNU Affero General Public License for more details.
13Copyright>
14Copyright> You should have received a copy of the GNU Affero General Public License
15Copyright> along with this program. If not, see <https://www.gnu.org/licenses/>.
16Copyright>
17Copyright>
18Copyright> Commercial Alternative: Altair Radioss Software
19Copyright>
20Copyright> As an alternative to this open-source version, Altair also offers Altair Radioss
21Copyright> software under a commercial license. Contact Altair to discuss further if the
22Copyright> commercial version may interest you: https://www.altair.com/radioss/.
23!||====================================================================
24!|| volpfv ../engine/source/airbag/volpfv.F
25!||--- called by ------------------------------------------------------
26!|| monvol0 ../engine/source/airbag/monvol0.F
27!||--- uses -----------------------------------------------------
28!|| finter_mixed_mod ../engine/source/tools/finter_mixed.F90
29!|| python_funct_mod ../common_source/modules/python_mod.F90
30!||====================================================================
31 SUBROUTINE volpfv(IVOLU,RVOLU ,VOL,FSAV,NPC,
32 2 TF ,PMAIN, WFEXT,PYTHON,NFUNCT)
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
112 END
#define my_real
Definition cppsort.cpp:32
subroutine area(d1, x, x2, y, y2, eint, stif0)
subroutine volpfv(ivolu, rvolu, vol, fsav, npc, tf, pmain, wfext, python, nfunct)
Definition volpfv.F:33