|
43 | 43 | % carreau_yasuda |
44 | 44 | elseif nu_model == 2 |
45 | 45 | f = sf_carreau_yasuda(nc,lambda,gammadot_R); |
| 46 | + % calculating the Leibniz integration rule limit, see Appendix |
| 47 | + % of the manuscript |
| 48 | + h = f*gammadot_R*(Rdot/R); |
| 49 | + % calculating the stress integral for a non-Newtonian model, |
| 50 | + % goes directly into the E term in the Keller-Miksis equation |
| 51 | + I1 = integral(@(r) sf_carreau_yasuda_d(r,a,nc,lambda,gammadot_num),... |
| 52 | + R,Inf,'RelTol',reltol,'AbsTol',abstol); |
| 53 | + % calculating the time derivative of the stress integral for |
| 54 | + % a non-Newtonian model, this integral has to two coefficients. |
| 55 | + % one of the terms is in the E_primber term in m_cavitation, |
| 56 | + % the other goes in the denominator of the Rdot_dot solution to |
| 57 | + % account for the Rddot term |
| 58 | + I2 = integral(@(r) sf_carreau_yasuda_dd(r,a,nc,lambda,gammadot_num),R,Inf,... |
| 59 | + 'RelTol',reltol,'AbsTol',abstol); |
| 60 | + intf = gammadot_num*I1; |
| 61 | + % note the additional h term is to account for the Leibniz |
| 62 | + % integration rule correction |
| 63 | + dintf = dgammadot*I2 - h; |
| 64 | + % second term that is used for the denominator of the Rdot_dot |
| 65 | + % calculation |
| 66 | + ddintf = ddgammadot*I2; |
46 | 67 | % powell_eyring |
47 | 68 | elseif nu_model == 3 |
48 | 69 | f = sf_powell_eyring(nc,lambda,gammadot_R); |
|
88 | 109 | f = (1+(lambda).^a.*(gammadot_R).^a).^((nc-1)./a); |
89 | 110 | end |
90 | 111 |
|
| 112 | + function intf = sf_carreau_yasuda_d(r,a,nc,lambda,gammadot_num) |
| 113 | + gammadot = gammadot_num./r.^3; |
| 114 | + % additional r in the denominator is from the stress integral |
| 115 | + intf = (gammadot./r).*(1+(lambda).^a.*(gammadot).^a).^((nc-1)./a); |
| 116 | + end |
| 117 | + |
| 118 | + function dintf = sf_carreau_yasuda_dd(r,a,nc,lambda,gammadot_num) |
| 119 | + % numerator is multiplied later |
| 120 | + gammadot = gammadot_num./r.^3; |
| 121 | + % term inside the power, reduces computation |
| 122 | + pre_f = (1+(lambda).^a.*(gammadot).^a); |
| 123 | + % regular f calculation |
| 124 | + f = pre_f.^((nc-1)./a); |
| 125 | + % derivative of f with respect to gammadot only |
| 126 | + dfdgamma = ((nc-1)./a)*pre_f.^((nc-3)./a)*a*lambda^a.*gammadot; |
| 127 | + % collecting terms for integration |
| 128 | + dintf = (1./r.^4).*(f+gammadot.*dfdgamma); |
| 129 | + end |
| 130 | + |
91 | 131 | function f = sf_cross(a,lambda,gammadot_R) |
92 | 132 | f = 1/(1+(lambda*gammadot_R).^a); |
93 | 133 | end |
|
0 commit comments