MFC: Simulation
High-fidelity multiphase flow simulation
Loading...
Searching...
No Matches
m_bubbles Module Reference

This module contains procedures shared by the ensemble-averaged and volume-averaged bubble models. More...

Functions/Subroutines

elemental real(wp) function f_rddot (frho, fp, fr, fv, fr0, fpb, fpbdot, alf, fntait, fbtait, f_bub_adv_src, f_divu, fcson)
 Function that computes the bubble radial acceleration based on bubble models.
 
elemental real(wp) function f_cpbw (fr0, fr, fv, fpb)
 Function that computes that bubble wall pressure for Gilmore bubbles.
 
elemental real(wp) function f_h (fcpbw, fcpinf, fntait, fbtait)
 Function that computes the bubble enthalpy.
 
elemental real(wp) function f_cgas (fcpinf, fntait, fbtait, fh)
 Function that computes the sound speed for the bubble.
 
elemental real(wp) function f_cpinfdot (frho, fp, falf, fntait, fbtait, advsrc, divu)
 Function that computes the time derivative of the driving pressure.
 
elemental real(wp) function f_hdot (fcpbw, fcpinf, fcpinf_dot, fntait, fbtait, fr, fv, fr0, fpbdot)
 Function that computes the time derivative of the enthalpy.
 
elemental real(wp) function f_rddot_rp (fcp, frho, fr, fv, fcpbw)
 Function that computes the bubble radial acceleration for Rayleigh-Plesset bubbles.
 
elemental real(wp) function f_rddot_g (fcpbw, fr, fv, fh, fhdot, fcgas, fntait, fbtait)
 Function that computes the bubble radial acceleration.
 
elemental real(wp) function f_cpbw_km (fr0, fr, fv, fpb)
 Function that computes the bubble wall pressure for Keller–Miksis bubbles.
 
elemental real(wp) function f_rddot_km (fpbdot, fcp, fcpbw, frho, fr, fv, fr0, fc)
 Function that computes the bubble radial acceleration for Keller–Miksis bubbles.
 
elemental subroutine s_bwproperty (pb_in, ir0, chi_vw_out, k_mw_out, rho_mw_out)
 Subroutine that computes bubble wall properties for vapor bubbles.
 
elemental subroutine s_vflux (fr, fv, fpb, fmass_v, ir0, vflux, fmass_n, fbeta_c, fr_m, fgamma_m)
 Function that computes the vapour flux.
 
elemental real(wp) function f_bpres_dot (fvflux, fr, fv, fpb, fmass_v, ir0, fbeta_t, fr_m, fgamma_m)
 Function that computes the time derivative of the internal bubble pressure.
 
subroutine s_advance_step (frho, fp, fr, fv, fr0, fpb, fpbdot, alf, fntait, fbtait, f_bub_adv_src, f_divu, bub_id, fmass_v, fmass_n, fbeta_c, fbeta_t, fcson, adap_dt_stop)
 Adaptive time stepping routine for subgrid bubbles (See Heirer, E. Hairer S.P.Nørsett G. Wanner, Solving Ordinary Differential Equations I, Chapter II.4)
 
subroutine s_initial_substep_h (frho, fp, fr, fv, fr0, fpb, fpbdot, alf, fntait, fbtait, f_bub_adv_src, f_divu, fcson, h)
 Choose the initial time step size for the adaptive time stepping routine (See Heirer, E. Hairer S.P.Nørsett G. Wanner, Solving Ordinary Differential Equations I, Chapter II.4)
 
subroutine s_advance_substep (err, frho, fp, fr, fv, fr0, fpb, fpbdot, alf, fntait, fbtait, f_bub_adv_src, f_divu, bub_id, fmass_v, fmass_n, fbeta_c, fbeta_t, fcson, h, myr_tmp, myv_tmp, mypb_tmp, mymv_tmp)
 Integrate bubble variables over the given time step size, h, using a third-order accurate embedded Runge–Kutta scheme.
 
elemental subroutine s_advance_el (fr_tmp, fv_tmp, fpb_tmp, fmv_tmp, bub_id, fmass_n, fbeta_c, fbeta_t, fdpbdt_tmp, advance_el)
 Changes of pressure and vapor mass in the lagrange bubbles.
 

Variables

real(wpchi_vw
 Bubble wall properties (Ando 2010)
 
real(wpk_mw
 Bubble wall properties (Ando 2010)
 
real(wprho_mw
 Bubble wall properties (Ando 2010)
 

Detailed Description

This module contains procedures shared by the ensemble-averaged and volume-averaged bubble models.

Function/Subroutine Documentation

◆ f_bpres_dot()

elemental real(wp) function m_bubbles::f_bpres_dot ( real(wp), intent(in) fvflux,
real(wp), intent(in) fr,
real(wp), intent(in) fv,
real(wp), intent(in) fpb,
real(wp), intent(in) fmass_v,
integer, intent(in) ir0,
real(wp), intent(in), optional fbeta_t,
real(wp), intent(in), optional fr_m,
real(wp), intent(in), optional fgamma_m )

Function that computes the time derivative of the internal bubble pressure.

Parameters
fvfluxVapour flux
fRCurrent bubble radius
fVCurrent bubble velocity
fpbCurrent internal bubble pressure
fmass_vCurrent mass of vapour
iR0Bubble size index (EE) or bubble identifier (EL)
fbeta_tMass transfer coefficient (EL)
fR_mMixture gas constant (EL)
fgamma_mMixture gamma (EL)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ f_cgas()

elemental real(wp) function m_bubbles::f_cgas ( real(wp), intent(in) fcpinf,
real(wp), intent(in) fntait,
real(wp), intent(in) fbtait,
real(wp), intent(in) fh )

Function that computes the sound speed for the bubble.

Parameters
fCpinfDriving bubble pressure
fntaitTait EOS parameter
fBtaitTait EOS parameter
fHBubble enthalpy
Here is the call graph for this function:
Here is the caller graph for this function:

◆ f_cpbw()

elemental real(wp) function m_bubbles::f_cpbw ( real(wp), intent(in) fr0,
real(wp), intent(in) fr,
real(wp), intent(in) fv,
real(wp), intent(in) fpb )

Function that computes that bubble wall pressure for Gilmore bubbles.

Parameters
fR0Equilibrium bubble radius
fRCurrent bubble radius
fVCurrent bubble velocity
fpbInternal bubble pressure
Here is the call graph for this function:
Here is the caller graph for this function:

◆ f_cpbw_km()

elemental real(wp) function m_bubbles::f_cpbw_km ( real(wp), intent(in) fr0,
real(wp), intent(in) fr,
real(wp), intent(in) fv,
real(wp), intent(in) fpb )

Function that computes the bubble wall pressure for Keller–Miksis bubbles.

Parameters
fR0Equilibrium bubble radius
fRCurrent bubble radius
fVCurrent bubble velocity
fpbInternal bubble pressure
Here is the call graph for this function:
Here is the caller graph for this function:

◆ f_cpinfdot()

elemental real(wp) function m_bubbles::f_cpinfdot ( real(wp), intent(in) frho,
real(wp), intent(in) fp,
real(wp), intent(in) falf,
real(wp), intent(in) fntait,
real(wp), intent(in) fbtait,
real(wp), intent(in) advsrc,
real(wp), intent(in) divu )

Function that computes the time derivative of the driving pressure.

Parameters
fRhoLocal liquid density
fPLocal pressure
falfLocal void fraction
fntaitTait EOS parameter
fBtaitTait EOS parameter
advsrcAdvection equation source term
divuDivergence of velocity
Here is the call graph for this function:
Here is the caller graph for this function:

◆ f_h()

elemental real(wp) function m_bubbles::f_h ( real(wp), intent(in) fcpbw,
real(wp), intent(in) fcpinf,
real(wp), intent(in) fntait,
real(wp), intent(in) fbtait )

Function that computes the bubble enthalpy.

Parameters
fCpbwBubble wall pressure
fCpinfDriving bubble pressure
fntaitTait EOS parameter
fBtaitTait EOS parameter
Here is the call graph for this function:
Here is the caller graph for this function:

◆ f_hdot()

elemental real(wp) function m_bubbles::f_hdot ( real(wp), intent(in) fcpbw,
real(wp), intent(in) fcpinf,
real(wp), intent(in) fcpinf_dot,
real(wp), intent(in) fntait,
real(wp), intent(in) fbtait,
real(wp), intent(in) fr,
real(wp), intent(in) fv,
real(wp), intent(in) fr0,
real(wp), intent(in) fpbdot )

Function that computes the time derivative of the enthalpy.

Parameters
fCpbwBubble wall pressure
fCpinfDriving bubble pressure
fCpinf_dotTime derivative of the driving pressure
fntaitTait EOS parameter
fBtaitTait EOS parameter
fRCurrent bubble radius
fVCurrent bubble velocity
fR0Equilibrium bubble radius
fpbdotTime derivative of the internal bubble pressure
Here is the call graph for this function:
Here is the caller graph for this function:

◆ f_rddot()

elemental real(wp) function m_bubbles::f_rddot ( real(wp), intent(in) frho,
real(wp), intent(in) fp,
real(wp), intent(in) fr,
real(wp), intent(in) fv,
real(wp), intent(in) fr0,
real(wp), intent(in) fpb,
real(wp), intent(in) fpbdot,
real(wp), intent(in) alf,
real(wp), intent(in) fntait,
real(wp), intent(in) fbtait,
real(wp), intent(in) f_bub_adv_src,
real(wp), intent(in) f_divu,
real(wp), intent(in) fcson )

Function that computes the bubble radial acceleration based on bubble models.

Parameters
fRhoCurrent density
fPCurrent driving pressure
fRCurrent bubble radius
fVCurrent bubble velocity
fR0Equilibrium bubble radius
fpbInternal bubble pressure
fpbdotTime-derivative of internal bubble pressure
alfbubble volume fraction
fntaitTait EOS parameter
fBtaitTait EOS parameter
f_bub_adv_srcSource for bubble volume fraction
f_divuDivergence of velocity
fCsonSpeed of sound from fP (EL)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ f_rddot_g()

elemental real(wp) function m_bubbles::f_rddot_g ( real(wp), intent(in) fcpbw,
real(wp), intent(in) fr,
real(wp), intent(in) fv,
real(wp), intent(in) fh,
real(wp), intent(in) fhdot,
real(wp), intent(in) fcgas,
real(wp), intent(in) fntait,
real(wp), intent(in) fbtait )

Function that computes the bubble radial acceleration.

Parameters
fCpbwBubble wall pressure
fRCurrent bubble radius
fVCurrent bubble velocity
fHCurrent enthalpy
fHdotCurrent time derivative of the enthalpy
fcgasCurrent gas sound speed
fntaitTait EOS parameter
fBtaitTait EOS parameter
Here is the call graph for this function:
Here is the caller graph for this function:

◆ f_rddot_km()

elemental real(wp) function m_bubbles::f_rddot_km ( real(wp), intent(in) fpbdot,
real(wp), intent(in) fcp,
real(wp), intent(in) fcpbw,
real(wp), intent(in) frho,
real(wp), intent(in) fr,
real(wp), intent(in) fv,
real(wp), intent(in) fr0,
real(wp), intent(in) fc )

Function that computes the bubble radial acceleration for Keller–Miksis bubbles.

Parameters
fpbdotTime-derivative of internal bubble pressure
fCpDriving pressure
fCpbwBubble wall pressure
fRhoCurrent density
fRCurrent bubble radius
fVCurrent bubble velocity
fR0Equilibrium bubble radius
fCCurrent sound speed
Here is the call graph for this function:
Here is the caller graph for this function:

◆ f_rddot_rp()

elemental real(wp) function m_bubbles::f_rddot_rp ( real(wp), intent(in) fcp,
real(wp), intent(in) frho,
real(wp), intent(in) fr,
real(wp), intent(in) fv,
real(wp), intent(in) fcpbw )

Function that computes the bubble radial acceleration for Rayleigh-Plesset bubbles.

Parameters
fCpDriving pressure
fRhoCurrent density
fRCurrent bubble radius
fVCurrent bubble velocity
fR0Equilibrium bubble radius
fCpbwBoundary wall pressure
Here is the call graph for this function:
Here is the caller graph for this function:

◆ s_advance_el()

elemental subroutine m_bubbles::s_advance_el ( real(wp), intent(in) fr_tmp,
real(wp), intent(in) fv_tmp,
real(wp), intent(in) fpb_tmp,
real(wp), intent(in) fmv_tmp,
integer, intent(in) bub_id,
real(wp), intent(in) fmass_n,
real(wp), intent(in) fbeta_c,
real(wp), intent(in) fbeta_t,
real(wp), intent(inout) fdpbdt_tmp,
real(wp), intent(out) advance_el )

Changes of pressure and vapor mass in the lagrange bubbles.

Parameters
bub_idBubble identifier
fmass_nCurrent mass of gas
fbeta_cMass transfer coefficient
fbeta_tHeat transfer coefficient
fR_tmpBubble radius
fV_tmpBubble radial velocity
fPb_tmpInternal bubble pressure
fMv_tmpMass of vapor in the bubble
fdPbdt_tmpRate of change of the internal bubble pressure
fdMvdt_tmpRate of change of the mass of vapor in the bubble
Here is the call graph for this function:
Here is the caller graph for this function:

◆ s_advance_step()

subroutine m_bubbles::s_advance_step ( real(wp), intent(in) frho,
real(wp), intent(in) fp,
real(wp), intent(inout) fr,
real(wp), intent(inout) fv,
real(wp), intent(in) fr0,
real(wp), intent(inout) fpb,
real(wp), intent(in) fpbdot,
real(wp), intent(in) alf,
real(wp), intent(in) fntait,
real(wp), intent(in) fbtait,
real(wp), intent(in) f_bub_adv_src,
real(wp), intent(in) f_divu,
integer, intent(in) bub_id,
real(wp), intent(inout) fmass_v,
real(wp), intent(in) fmass_n,
real(wp), intent(in) fbeta_c,
real(wp), intent(in) fbeta_t,
real(wp), intent(in) fcson,
integer, intent(inout) adap_dt_stop )

Adaptive time stepping routine for subgrid bubbles (See Heirer, E. Hairer S.P.Nørsett G. Wanner, Solving Ordinary Differential Equations I, Chapter II.4)

Parameters
fRhoCurrent density
fPCurrent driving pressure
fRCurrent bubble radius
fVCurrent bubble radial velocity
fR0Equilibrium bubble radius
fpbInternal bubble pressure
fpbdotTime-derivative of internal bubble pressure
alfbubble volume fraction
fntaitTait EOS parameter
fBtaitTait EOS parameter
f_bub_adv_srcSource for bubble volume fraction
f_divuDivergence of velocity
bub_idBubble identifier (EL)
fmass_vCurrent mass of vapour (EL)
fmass_nCurrent mass of gas (EL)
fbeta_cMass transfer coefficient (EL)
fbeta_tHeat transfer coefficient (EL)
fCsonSpeed of sound (EL)
adap_dt_stopFail-safe exit if max iteration count reached
Here is the call graph for this function:

◆ s_advance_substep()

subroutine m_bubbles::s_advance_substep ( real(wp), intent(out) err,
real(wp), intent(in) frho,
real(wp), intent(in) fp,
real(wp), intent(in) fr,
real(wp), intent(in) fv,
real(wp), intent(in) fr0,
real(wp), intent(in) fpb,
real(wp), intent(in) fpbdot,
real(wp), intent(in) alf,
real(wp), intent(in) fntait,
real(wp), intent(in) fbtait,
real(wp), intent(in) f_bub_adv_src,
real(wp), intent(in) f_divu,
integer, intent(in) bub_id,
real(wp), intent(in) fmass_v,
real(wp), intent(in) fmass_n,
real(wp), intent(in) fbeta_c,
real(wp), intent(in) fbeta_t,
real(wp), intent(in) fcson,
real(wp), intent(in) h,
real(wp), dimension(4), intent(out) myr_tmp,
real(wp), dimension(4), intent(out) myv_tmp,
real(wp), dimension(4), intent(out) mypb_tmp,
real(wp), dimension(4), intent(out) mymv_tmp )

Integrate bubble variables over the given time step size, h, using a third-order accurate embedded Runge–Kutta scheme.

Parameters
errEstimated error
fRhoCurrent density
fPCurrent driving pressure
fRCurrent bubble radius
fVCurrent bubble velocity
fR0Equilibrium bubble radius
fpbInternal bubble pressure
fpbdotTime-derivative of internal bubble pressure
alfbubble volume fraction
fntaitTait EOS parameter
fBtaitTait EOS parameter
f_bub_adv_srcSource for bubble volume fraction
f_divuDivergence of velocity
bub_idBubble identifier (EL)
fmass_vCurrent mass of vapour (EL)
fmass_nCurrent mass of gas (EL)
fbeta_cMass transfer coefficient (EL)
fbeta_tHeat transfer coefficient (EL)
fCsonSpeed of sound (EL)
hTime step size
myR_tmpBubble radius at each stage
myV_tmpBubble radial velocity at each stage
myPb_tmpInternal bubble pressure at each stage (EL)
myMv_tmpMass of vapor in the bubble at each stage (EL)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ s_bwproperty()

elemental subroutine m_bubbles::s_bwproperty ( real(wp), intent(in) pb_in,
integer, intent(in) ir0,
real(wp), intent(out) chi_vw_out,
real(wp), intent(out) k_mw_out,
real(wp), intent(out) rho_mw_out )

Subroutine that computes bubble wall properties for vapor bubbles.

Parameters
pbInternal bubble pressure
iR0Current bubble size index
[out]chi_vw_outBubble wall properties (Ando 2010)
[out]k_mw_outBubble wall properties (Ando 2010)
[out]rho_mw_outBubble wall properties (Ando 2010)

◆ s_initial_substep_h()

subroutine m_bubbles::s_initial_substep_h ( real(wp), intent(in) frho,
real(wp), intent(in) fp,
real(wp), intent(in) fr,
real(wp), intent(in) fv,
real(wp), intent(in) fr0,
real(wp), intent(in) fpb,
real(wp), intent(in) fpbdot,
real(wp), intent(in) alf,
real(wp), intent(in) fntait,
real(wp), intent(in) fbtait,
real(wp), intent(in) f_bub_adv_src,
real(wp), intent(in) f_divu,
real(wp), intent(in) fcson,
real(wp), intent(out) h )

Choose the initial time step size for the adaptive time stepping routine (See Heirer, E. Hairer S.P.Nørsett G. Wanner, Solving Ordinary Differential Equations I, Chapter II.4)

Parameters
fRhoCurrent density
fPCurrent driving pressure
fRCurrent bubble radius
fVCurrent bubble velocity
fR0Equilibrium bubble radius
fpbInternal bubble pressure
fpbdotTime-derivative of internal bubble pressure
alfbubble volume fraction
fntaitTait EOS parameter
fBtaitTait EOS parameter
f_bub_adv_srcSource for bubble volume fraction
f_divuDivergence of velocity
fCsonSpeed of sound (EL)
hTime step size
Here is the call graph for this function:
Here is the caller graph for this function:

◆ s_vflux()

elemental subroutine m_bubbles::s_vflux ( real(wp), intent(in) fr,
real(wp), intent(in) fv,
real(wp), intent(in) fpb,
real(wp), intent(in) fmass_v,
integer, intent(in) ir0,
real(wp), intent(out) vflux,
real(wp), intent(in), optional fmass_n,
real(wp), intent(in), optional fbeta_c,
real(wp), intent(out), optional fr_m,
real(wp), intent(out), optional fgamma_m )

Function that computes the vapour flux.

Parameters
fRCurrent bubble radius
fVCurrent bubble velocity
fpb
fmass_vCurrent mass of vapour
iR0Bubble size index (EE) or bubble identifier (EL)
fmass_nCurrent gas mass (EL)
fbeta_cMass transfer coefficient (EL)
fR_mMixture gas constant (EL)
fgamma_mMixture gamma (EL)
Here is the caller graph for this function:

Variable Documentation

◆ chi_vw

real(wp) m_bubbles::chi_vw

Bubble wall properties (Ando 2010)

◆ k_mw

real(wp) m_bubbles::k_mw

Bubble wall properties (Ando 2010)

◆ rho_mw

real(wp) m_bubbles::rho_mw

Bubble wall properties (Ando 2010)