78 if (out.
qpk) (*out.
qpk) = 0.;
84 if (out.
qpi) (*out.
qpi) = 0.;
99 for (
int k = 0 ; k < in.
N ; k++)
108 int ind_sat = k<
n_l ? ( k *(in.
N-1)-( k -1)*( k )/2) + (
n_l- k -1) :
111 if (in.
Tp - in.
Tsat[ind_sat] > 0)
114 const double dd = 1.e-4*(in.
Tp - in.
Tsat[ind_sat])+
dd_;
116 const double dTp_dd = 1.e-4;
118 const double N_sites = std::pow(210.*(in.
Tp - in.
Tsat[ind_sat]), 1.8);
119 const double dTp_N_sites = 210.*1.8*std::pow(210.*(in.
Tp - in.
Tsat[ind_sat]), .8);
121 const double A_bubbles = std::min(1., 3.1415/4.*N_sites*dd*dd);
122 const double dTp_A_bubbles = (3.1415/4.*N_sites*dd*dd>1) ? 0. : 3.1415/4.*dTp_N_sites*dd*dd+3.1415/4.*N_sites*2.*dTp_dd*dd ;
124 const double f_dep = std::sqrt(4./3*9.81*(in.
rho[
n_l]-in.
rho[k])/(in.
rho[
n_l])) * std::pow(dd, -0.5);
125 const double dTp_f_dep = std::sqrt(4./3*9.81*(in.
rho[
n_l]-in.
rho[k])/(in.
rho[
n_l])) *-0.5*dTp_dd*std::pow(dd, -1.5);
127 const double q_evap = f_dep * 3.1415/6. * dd*dd*dd * in.
rho[k] * in.
Lvap[ind_sat] * N_sites ;
128 const double dTp_q_evap= dTp_f_dep * 3.1415/6. * dd*dd*dd * in.
rho[k] * in.
Lvap[ind_sat] * N_sites
129 +f_dep * 3.1415/6. *3.*dTp_dd*dd*dd * in.
rho[k] * in.
Lvap[ind_sat] * N_sites
130 +f_dep * 3.1415/6. * dd*dd*dd * in.
rho[k] * in.
Lvap[ind_sat] * dTp_N_sites ;
134 const double dTl_q_quench= A_bubbles *2. * in.
lambda[
n_l] * (-1.) / std::sqrt(3.1415*in.
lambda[
n_l]/(in.
rho[
n_l]*in.
Cp[
n_l])) * std::sqrt(f_dep);
140 double qpk_nl_loc = -1;
141 if (out.
qpk) qpk_nl_loc = (*out.
qpk)(
n_l);
142 if (out.
qpk) (*out.
qpk) *= (1-A_bubbles);
149 (*out.
dTp_qpk) *= (1-A_bubbles);
150 (*out.
dTp_qpk)(
n_l) += -dTp_A_bubbles*qpk_nl_loc;
154 if (out.
qpk) (*out.
qpk)(
n_l) += q_quench;
159 if (out.
qpi) (*out.
qpi)(
n_l, k) += q_evap;