m_bubbles Module

This module is used to compute the ensemble-averaged bubble dynamic variables


Uses

  • module~~m_bubbles~~UsesGraph module~m_bubbles m_bubbles module~m_global_parameters m_global_parameters module~m_bubbles->module~m_global_parameters m_derived_types m_derived_types module~m_bubbles->m_derived_types module~m_mpi_proxy m_mpi_proxy module~m_bubbles->module~m_mpi_proxy module~m_variables_conversion m_variables_conversion module~m_bubbles->module~m_variables_conversion module~m_global_parameters->m_derived_types openacc openacc module~m_global_parameters->openacc mpi mpi module~m_global_parameters->mpi module~m_mpi_proxy->module~m_global_parameters module~m_mpi_proxy->m_derived_types module~m_mpi_proxy->mpi module~m_variables_conversion->module~m_global_parameters module~m_variables_conversion->m_derived_types module~m_variables_conversion->module~m_mpi_proxy module~nvtx nvtx module~m_variables_conversion->module~nvtx iso_c_binding iso_c_binding module~nvtx->iso_c_binding

Used by

  • module~~m_bubbles~~UsedByGraph module~m_bubbles m_bubbles module~m_time_steppers m_time_steppers module~m_time_steppers->module~m_bubbles module~m_rhs m_rhs module~m_time_steppers->module~m_rhs module~m_riemann_solvers m_riemann_solvers module~m_riemann_solvers->module~m_bubbles module~m_rhs->module~m_bubbles module~m_rhs->module~m_riemann_solvers module~m_derived_variables m_derived_variables module~m_derived_variables->module~m_time_steppers program~p_main p_main program~p_main->module~m_time_steppers program~p_main->module~m_riemann_solvers program~p_main->module~m_rhs program~p_main->module~m_derived_variables

Contents


Variables

TypeVisibilityAttributesNameInitial
real(kind=kind(0.d0)), public :: chi_vw

Bubble wall properties (Ando 2010)

real(kind=kind(0.d0)), public :: k_mw

Bubble wall properties (Ando 2010)

real(kind=kind(0.d0)), public :: rho_mw

Bubble wall properties (Ando 2010)


Functions

public function f_cpbw(fR0, fR, fV, fpb)

Function that computes that bubble wall pressure for Gilmore bubbles

Arguments

TypeIntentOptionalAttributesName
real(kind=kind(0d0)), intent(in) :: fR0

Equilibrium bubble radius

real(kind=kind(0d0)), intent(in) :: fR

Current bubble radius

real(kind=kind(0d0)), intent(in) :: fV

Current bubble velocity

real(kind=kind(0d0)), intent(in) :: fpb

Internal bubble pressure

Return Value real(kind=kind(0d0))

Bubble wall pressure

public function f_H(fCpbw, fCpinf, fntait, fBtait)

Function that computes the bubble enthalpy @param fCpbw Bubble wall pressure @param fCpinf Driving bubble pressure @param fntait Tait EOS parameter @param fBtait Tait EOS parameter

Arguments

TypeIntentOptionalAttributesName
real(kind=kind(0d0)), intent(in) :: fCpbw
real(kind=kind(0d0)), intent(in) :: fCpinf
real(kind=kind(0d0)), intent(in) :: fntait
real(kind=kind(0d0)), intent(in) :: fBtait

Return Value real(kind=kind(0d0))

public function f_cgas(fCpinf, fntait, fBtait, fH)

Function that computes the sound speed for the bubble @param fCpinf Driving bubble pressure @param fntait Tait EOS parameter @param fBtait Tait EOS parameter @param fH Bubble enthalpy

Arguments

TypeIntentOptionalAttributesName
real(kind=kind(0d0)), intent(in) :: fCpinf
real(kind=kind(0d0)), intent(in) :: fntait
real(kind=kind(0d0)), intent(in) :: fBtait
real(kind=kind(0d0)), intent(in) :: fH

Return Value real(kind=kind(0d0))

public function f_cpinfdot(fRho, fP, falf, fntait, fBtait, advsrc, divu)

Function that computes the time derivative of the driving pressure @param fRho Local liquid density @param fP Local pressure @param falf Local void fraction @param fntait Tait EOS parameter @param fBtait Tait EOS parameter @param advsrc Advection equation source term @param divu Divergence of velocity

Arguments

TypeIntentOptionalAttributesName
real(kind=kind(0d0)), intent(in) :: fRho
real(kind=kind(0d0)), intent(in) :: fP
real(kind=kind(0d0)), intent(in) :: falf
real(kind=kind(0d0)), intent(in) :: fntait
real(kind=kind(0d0)), intent(in) :: fBtait
real(kind=kind(0d0)), intent(in) :: advsrc
real(kind=kind(0d0)), intent(in) :: divu

Return Value real(kind=kind(0d0))

public function f_Hdot(fCpbw, fCpinf, fCpinf_dot, fntait, fBtait, fR, fV, fR0, fpbdot)

Function that computes the time derivative of the enthalpy @param fCpbw Bubble wall pressure @param fCpinf Driving bubble pressure @param fCpinf_dot Time derivative of the driving pressure @param fntait Tait EOS parameter @param fBtait Tait EOS parameter @param fR0 Equilibrium bubble radius @param fR Current bubble radius @param fV Current bubble velocity @param fpbdot Time derivative of the internal bubble pressure

Arguments

TypeIntentOptionalAttributesName
real(kind=kind(0d0)), intent(in) :: fCpbw
real(kind=kind(0d0)), intent(in) :: fCpinf
real(kind=kind(0d0)), intent(in) :: fCpinf_dot
real(kind=kind(0d0)), intent(in) :: fntait
real(kind=kind(0d0)), intent(in) :: fBtait
real(kind=kind(0d0)), intent(in) :: fR
real(kind=kind(0d0)), intent(in) :: fV
real(kind=kind(0d0)), intent(in) :: fR0
real(kind=kind(0d0)), intent(in) :: fpbdot

Return Value real(kind=kind(0d0))

public function f_rddot_RP(fCp, fRho, fR, fV, fR0, fCpbw)

Function that computes the bubble radial acceleration for Rayleigh-Plesset bubbles @param fCp Driving pressure @param fRho Current density @param fR Current bubble radius @param fV Current bubble velocity @param fR0 Equilibrium bubble radius @param fCpbw Boundary wall pressure

Arguments

TypeIntentOptionalAttributesName
real(kind=kind(0d0)), intent(in) :: fCp
real(kind=kind(0d0)), intent(in) :: fRho
real(kind=kind(0d0)), intent(in) :: fR
real(kind=kind(0d0)), intent(in) :: fV
real(kind=kind(0d0)), intent(in) :: fR0
real(kind=kind(0d0)), intent(in) :: fCpbw

Return Value real(kind=kind(0d0))

rddot = (1/r) ( -3/2 rdot^2 + ((r0/r)^3\gamma - Cp)/rho ) rddot = (1/r) ( -3/2 rdot^2 + (tmp1 - Cp)/rho ) rddot = (1/r) ( tmp2 )

public function f_rddot(fCpbw, fR, fV, fH, fHdot, fcgas, fntait, fBtait)

Function that computes the bubble radial acceleration @param fCpbw Bubble wall pressure @param fR Current bubble radius @param fV Current bubble velocity @param fH Current enthalpy @param fHdot Current time derivative of the enthalpy @param fcgas Current gas sound speed @param fntait Tait EOS parameter @param fBtait Tait EOS parameter

Arguments

TypeIntentOptionalAttributesName
real(kind=kind(0d0)), intent(in) :: fCpbw
real(kind=kind(0d0)), intent(in) :: fR
real(kind=kind(0d0)), intent(in) :: fV
real(kind=kind(0d0)), intent(in) :: fH
real(kind=kind(0d0)), intent(in) :: fHdot
real(kind=kind(0d0)), intent(in) :: fcgas
real(kind=kind(0d0)), intent(in) :: fntait
real(kind=kind(0d0)), intent(in) :: fBtait

Return Value real(kind=kind(0d0))

public function f_cpbw_KM(fR0, fR, fV, fpb)

Function that computes the bubble wall pressure for Keller--Miksis bubbles @param fR0 Equilibrium bubble radius @param fR Current bubble radius @param fV Current bubble velocity @param fpb Internal bubble pressure

Arguments

TypeIntentOptionalAttributesName
real(kind=kind(0d0)), intent(in) :: fR0
real(kind=kind(0d0)), intent(in) :: fR
real(kind=kind(0d0)), intent(in) :: fV
real(kind=kind(0d0)), intent(in) :: fpb

Return Value real(kind=kind(0d0))

public function f_rddot_KM(fpbdot, fCp, fCpbw, fRho, fR, fV, fR0, fC)

Function that computes the bubble radial acceleration for Keller--Miksis bubbles @param fpbdot Time-derivative of internal bubble pressure @param fCp Driving pressure @param fCpbw Bubble wall pressure @param fRho Current density @param fR Current bubble radius @param fV Current bubble velocity @param fR0 Equilibrium bubble radius @param fC Current sound speed

Arguments

TypeIntentOptionalAttributesName
real(kind=kind(0d0)), intent(in) :: fpbdot
real(kind=kind(0d0)), intent(in) :: fCp
real(kind=kind(0d0)), intent(in) :: fCpbw
real(kind=kind(0d0)), intent(in) :: fRho
real(kind=kind(0d0)), intent(in) :: fR
real(kind=kind(0d0)), intent(in) :: fV
real(kind=kind(0d0)), intent(in) :: fR0
real(kind=kind(0d0)), intent(in) :: fC

Return Value real(kind=kind(0d0))

public function f_vflux(fR, fV, fmass_v, iR0)

Function that computes the vapour flux @param fR Current bubble radius @param fV Current bubble velocity @param fmass_v Current mass of vapour @param iR0 Bubble size index

Arguments

TypeIntentOptionalAttributesName
real(kind=kind(0.d0)), intent(in) :: fR
real(kind=kind(0.d0)), intent(in) :: fV
real(kind=kind(0.d0)), intent(in) :: fmass_v
integer, intent(in) :: iR0

Return Value real(kind=kind(0.d0))

public function f_bpres_dot(fvflux, fR, fV, fpb, fmass_v, iR0)

Function that computes the time derivative of the internal bubble pressure @param fvflux Vapour flux @param fR Current bubble radius @param fV Current bubble velocity @param fpb Current internal bubble pressure @param fmass_v Current mass of vapour @param iR0 Bubble size index

Arguments

TypeIntentOptionalAttributesName
real(kind=kind(0.d0)), intent(in) :: fvflux
real(kind=kind(0.d0)), intent(in) :: fR
real(kind=kind(0.d0)), intent(in) :: fV
real(kind=kind(0.d0)), intent(in) :: fpb
real(kind=kind(0.d0)), intent(in) :: fmass_v
integer, intent(in) :: iR0

Return Value real(kind=kind(0.d0))


Subroutines

public subroutine s_compute_bubble_source(idir, q_prim_vf, q_cons_vf, mydivu, bub_adv_src, bub_r_src, bub_v_src, bub_p_src, bub_m_src)

The purpose of this procedure is to compute the source terms that are needed for the bubble modeling @param idir Dimension splitting index @param q_prim_vf Primitive variables @param q_cons_vf Conservative variables @param mydivu Divergence of velocity @param bub_adv_src Advection equation source due to bubble compression/expansion @param bub_r_src Bubble radius equation source @param bub_v_src Bubble velocity equation source @param bub_p_src Bubble pressure equation source @param bub_m_src Bubble mass equation source

Arguments

TypeIntentOptionalAttributesName
integer, intent(in) :: idir
type(scalar_field), intent(in), dimension(sys_size):: q_prim_vf
type(scalar_field), intent(in), dimension(sys_size):: q_cons_vf
type(scalar_field), intent(in) :: mydivu
real(kind=kind(0d0)), intent(inout), dimension(0:m, 0:n, 0:p):: bub_adv_src
real(kind=kind(0d0)), intent(inout), dimension(0:m, 0:n, 0:p, 1:nb):: bub_r_src
real(kind=kind(0d0)), intent(inout), dimension(0:m, 0:n, 0:p, 1:nb):: bub_v_src
real(kind=kind(0d0)), intent(inout), dimension(0:m, 0:n, 0:p, 1:nb):: bub_p_src
real(kind=kind(0d0)), intent(inout), dimension(0:m, 0:n, 0:p, 1:nb):: bub_m_src

public subroutine s_bwproperty(pb, iR0)

Subroutine that computes bubble wall properties for vapor bubbles @param pb Internal bubble pressure @param iR0 Current bubble size index

Arguments

TypeIntentOptionalAttributesName
real(kind=kind(0.d0)), intent(in) :: pb
integer, intent(in) :: iR0