|
MFC: Simulation
High-fidelity multiphase flow simulation
|
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(wp) | chi_vw |
| Bubble wall properties (Ando 2010) | |
| real(wp) | k_mw |
| Bubble wall properties (Ando 2010) | |
| real(wp) | rho_mw |
| Bubble wall properties (Ando 2010) | |
This module contains procedures shared by the ensemble-averaged and volume-averaged bubble models.
| 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.
| fvflux | Vapour flux |
| fR | Current bubble radius |
| fV | Current bubble velocity |
| fpb | Current internal bubble pressure |
| fmass_v | Current mass of vapour |
| iR0 | Bubble size index (EE) or bubble identifier (EL) |
| fbeta_t | Mass transfer coefficient (EL) |
| fR_m | Mixture gas constant (EL) |
| fgamma_m | Mixture gamma (EL) |
| 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.
| fCpinf | Driving bubble pressure |
| fntait | Tait EOS parameter |
| fBtait | Tait EOS parameter |
| fH | Bubble enthalpy |
| 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.
| fR0 | Equilibrium bubble radius |
| fR | Current bubble radius |
| fV | Current bubble velocity |
| fpb | Internal bubble pressure |
| 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.
| fR0 | Equilibrium bubble radius |
| fR | Current bubble radius |
| fV | Current bubble velocity |
| fpb | Internal bubble pressure |
| 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.
| fRho | Local liquid density |
| fP | Local pressure |
| falf | Local void fraction |
| fntait | Tait EOS parameter |
| fBtait | Tait EOS parameter |
| advsrc | Advection equation source term |
| divu | Divergence of velocity |
| 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.
| fCpbw | Bubble wall pressure |
| fCpinf | Driving bubble pressure |
| fntait | Tait EOS parameter |
| fBtait | Tait EOS parameter |
| 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.
| fCpbw | Bubble wall pressure |
| fCpinf | Driving bubble pressure |
| fCpinf_dot | Time derivative of the driving pressure |
| fntait | Tait EOS parameter |
| fBtait | Tait EOS parameter |
| fR | Current bubble radius |
| fV | Current bubble velocity |
| fR0 | Equilibrium bubble radius |
| fpbdot | Time derivative of the internal bubble pressure |
| 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.
| fRho | Current density |
| fP | Current driving pressure |
| fR | Current bubble radius |
| fV | Current bubble velocity |
| fR0 | Equilibrium bubble radius |
| fpb | Internal bubble pressure |
| fpbdot | Time-derivative of internal bubble pressure |
| alf | bubble volume fraction |
| fntait | Tait EOS parameter |
| fBtait | Tait EOS parameter |
| f_bub_adv_src | Source for bubble volume fraction |
| f_divu | Divergence of velocity |
| fCson | Speed of sound from fP (EL) |
| 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.
| fCpbw | Bubble wall pressure |
| fR | Current bubble radius |
| fV | Current bubble velocity |
| fH | Current enthalpy |
| fHdot | Current time derivative of the enthalpy |
| fcgas | Current gas sound speed |
| fntait | Tait EOS parameter |
| fBtait | Tait EOS parameter |
| 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.
| fpbdot | Time-derivative of internal bubble pressure |
| fCp | Driving pressure |
| fCpbw | Bubble wall pressure |
| fRho | Current density |
| fR | Current bubble radius |
| fV | Current bubble velocity |
| fR0 | Equilibrium bubble radius |
| fC | Current sound speed |
| 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.
| fCp | Driving pressure |
| fRho | Current density |
| fR | Current bubble radius |
| fV | Current bubble velocity |
| fR0 | Equilibrium bubble radius |
| fCpbw | Boundary wall pressure |
| 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.
| bub_id | Bubble identifier |
| fmass_n | Current mass of gas |
| fbeta_c | Mass transfer coefficient |
| fbeta_t | Heat transfer coefficient |
| fR_tmp | Bubble radius |
| fV_tmp | Bubble radial velocity |
| fPb_tmp | Internal bubble pressure |
| fMv_tmp | Mass of vapor in the bubble |
| fdPbdt_tmp | Rate of change of the internal bubble pressure |
| fdMvdt_tmp | Rate of change of the mass of vapor in the bubble |
| 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)
| fRho | Current density |
| fP | Current driving pressure |
| fR | Current bubble radius |
| fV | Current bubble radial velocity |
| fR0 | Equilibrium bubble radius |
| fpb | Internal bubble pressure |
| fpbdot | Time-derivative of internal bubble pressure |
| alf | bubble volume fraction |
| fntait | Tait EOS parameter |
| fBtait | Tait EOS parameter |
| f_bub_adv_src | Source for bubble volume fraction |
| f_divu | Divergence of velocity |
| bub_id | Bubble identifier (EL) |
| fmass_v | Current mass of vapour (EL) |
| fmass_n | Current mass of gas (EL) |
| fbeta_c | Mass transfer coefficient (EL) |
| fbeta_t | Heat transfer coefficient (EL) |
| fCson | Speed of sound (EL) |
| adap_dt_stop | Fail-safe exit if max iteration count reached |
| 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.
| err | Estimated error |
| fRho | Current density |
| fP | Current driving pressure |
| fR | Current bubble radius |
| fV | Current bubble velocity |
| fR0 | Equilibrium bubble radius |
| fpb | Internal bubble pressure |
| fpbdot | Time-derivative of internal bubble pressure |
| alf | bubble volume fraction |
| fntait | Tait EOS parameter |
| fBtait | Tait EOS parameter |
| f_bub_adv_src | Source for bubble volume fraction |
| f_divu | Divergence of velocity |
| bub_id | Bubble identifier (EL) |
| fmass_v | Current mass of vapour (EL) |
| fmass_n | Current mass of gas (EL) |
| fbeta_c | Mass transfer coefficient (EL) |
| fbeta_t | Heat transfer coefficient (EL) |
| fCson | Speed of sound (EL) |
| h | Time step size |
| myR_tmp | Bubble radius at each stage |
| myV_tmp | Bubble radial velocity at each stage |
| myPb_tmp | Internal bubble pressure at each stage (EL) |
| myMv_tmp | Mass of vapor in the bubble at each stage (EL) |
| 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.
| pb | Internal bubble pressure | |
| iR0 | Current bubble size index | |
| [out] | chi_vw_out | Bubble wall properties (Ando 2010) |
| [out] | k_mw_out | Bubble wall properties (Ando 2010) |
| [out] | rho_mw_out | Bubble wall properties (Ando 2010) |
| 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)
| fRho | Current density |
| fP | Current driving pressure |
| fR | Current bubble radius |
| fV | Current bubble velocity |
| fR0 | Equilibrium bubble radius |
| fpb | Internal bubble pressure |
| fpbdot | Time-derivative of internal bubble pressure |
| alf | bubble volume fraction |
| fntait | Tait EOS parameter |
| fBtait | Tait EOS parameter |
| f_bub_adv_src | Source for bubble volume fraction |
| f_divu | Divergence of velocity |
| fCson | Speed of sound (EL) |
| h | Time step size |
| 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.
| fR | Current bubble radius |
| fV | Current bubble velocity |
| fpb | |
| fmass_v | Current mass of vapour |
| iR0 | Bubble size index (EE) or bubble identifier (EL) |
| fmass_n | Current gas mass (EL) |
| fbeta_c | Mass transfer coefficient (EL) |
| fR_m | Mixture gas constant (EL) |
| fgamma_m | Mixture gamma (EL) |
| real(wp) m_bubbles::chi_vw |
Bubble wall properties (Ando 2010)
| real(wp) m_bubbles::k_mw |
Bubble wall properties (Ando 2010)
| real(wp) m_bubbles::rho_mw |
Bubble wall properties (Ando 2010)