32 SUBROUTINE volp_lfluid(IVOLU, RVOLU, VOL, FSAV, NPC, TF, PMAIN, OUTPUT,PYTHON, NFUNCT)
38 USE output_mod ,
ONLY : output_
42#include
"implicit_f.inc"
53 my_real tf(*), rvolu(*), fsav(*), vol
54 TYPE(),
INTENT(INOUT) :: OUTPUT
55 TYPE(python_),
intent(inout) :: PYTHON
56 INTEGER,
intent(in) :: NFUNCT
62 my_real p0, vol0,
area, veps, vinc, pold, pext, vold, pres, q, qold, dv, xfun
63 my_real scalef, bulk, pmax, gmass, dmass, rhoi
86 bulk = scalef * finter_mixed(python,nfunct,ifunct,tt,npc,tf)
95 dmass = scalef * finter_mixed(python,nfunct,ifunct,tt,npc,tf) * dt1
98 rvolu(54)=rvolu(54)+dmass
106 dmass = scalef * finter_mixed(python,nfunct,ifunct,tt,npc,tf) * dt1
108 gmass = gmass - dmass
116 dmass = scalef * finter_mixed(python,nfunct,ifunct,pold,npc,tf) * dt1
118 gmass = gmass - dmass
126 p0 = scalef * finter_mixed(python,nfunct,ifunct,tt,npc,tf)
135 pmax = scalef * finter_mixed(python,nfunct,ifunct,tt,npc,tf)
140 xfun = (vol0-vinc)/(vol-vinc)
141 pres = bulk *
max(zero,log(xfun)) + p0
142 pres =
min(pres,pmax)
145 IF (ispmd+1==pmain)
THEN
147 output%TH%WFEXT=output%TH%WFEXT+(half*(q+qold+pres+pold))*dv
subroutine volp_lfluid(ivolu, rvolu, vol, fsav, npc, tf, pmain, output, python, nfunct)