Krishna, Shwetank https://orcid.org/0000-0002-2074-0386
Weiskirchner, Stefan
Ravi, Kris
Prohaska-Marchried, Michael
Funding for this research was provided by:
Montanuniversität Leoben
Article History
Received: 25 September 2025
Accepted: 9 November 2025
First Online: 19 November 2025
Declarations
:
: The authors declare no conflict of financial interest.
: Stepwise process to implement the developed full semi-analytical model to predict the pressure drop in the eccentric annulus. Step-1: Start with defining the set governing parameters which is fluid consistency index, , yield stress , fluid behavior index, , inner pipe offset relative to the center, , inner radius of the outer pipe, , inner radius of outer pipe, , and eccentric angle, . Step-2: Enter the measured value of the flowrate, at which pressure drop is required to be calculated. Step-3: Calculate the (annular gap at the defined eccentric angle) using Eq. . Step-4: Assume the nearest value of pressure drop expected at the . Then apply the no-slip boundary conditions (Eqs. and ) to calculate the value of both the first and second integration constant, i.e., and . Substitute these boundary conditions individually in Eq. to calculate and . Step-5: Subsitute the assumed pressure drop value in Eq. to determine the predicted flowrate. Then run multiple iterations with assumed until . Solution example with real values used in predicting a pressure drop at a measured flowrate is given below. Step-1: Defining governing parameters. ; ; ; ; ; ; . Step-2: The measured flowrate is . Step-3: Use Eq. to calculate . Step-4: Assume a pressure drop value is 3000.Now, apply the first boundary condition, i.e., Eq. in Eq. . It yields: Apply the second boundary condition, i.e., Eq. in Eq. . It yields: A non-trivial solution was obtained after solving the equation using Cardano's method which is 23.4791, and . Where the first solution is a real value and the second term is an imaginary value. For further solving real value of is used, i.e., . Step-5: Now Eq. is solved using the assumed pressure drop and the related and values. It yields: Hence, different pressure drop value is assumed until is equated equal to . Mathematica code to automate the solution (*Step 1:Define constants*) [Q m ] = 0.0016; (*measured flowrate value;*) K = 1.16;tau0 = 9.33;n = 0.35;e = 0.0058;r1 = 0.035;r2 = 0.045;theta = 0; (*degrees*) (* Step 2: Calculate h( )*) H = Sqrt[r2^2—e^2 Sin[theta Degree]^2]—r1 + e Cos[theta Degree]; (*Step 3: Define the u(y) equation*) U[c1_, PD_]: = ((c1—tau0)/K)^(1/n)*(h—(n*PD/(c1—tau0)) * h^2/2 + (n*(n + 1)/2*(PD/(c1—tau0))^2* h^3/2)—(n*(n + 1)*(n + 2)/6*(PD/(c1—tau0))^3*h^4/4)). (*Step 4: Define the Q (flowrate) equation as a function of c1 and PD*) [Q p ][c1_, PD_]: = 6.28*((c1—tau0)/K)^(1/n)*(h^3/3—(n*PD/(c1—tau0))* h^4/8 + (n*(n + 1)/2*(PD/(c1—tau0))^2* h^5/15)—(n*(n + 1)*(n + 2)/6*(PD/(c1—tau0))^3*h^6/24)). (*Step 5: Solve for c1 as a function of PD by setting *) c1Solution[PD_]: = Solve[u[c1, PD] = = 0, c1][[1–3]]; (*Step 6: Display c1 as a function of P*) c1Function[PD_]: = c1Solution[PD];c1Function[PD]. (*Step 7: Solve for PD given the known flowrate*) PDsolution = FindRoot[[Q p ][c1Solution[PD], PD] = = [Q m ], {PD, 4000}]; (*Initial guess of 4000 for PD;*) (*Step 8: Output the solution for PD*) PDvalue = PD /. PDsolution; (*Step 9: Calculate and display the value of c1 corresponding to the solution for PD*) c1Value = c1Solution[PDvalue];{c1Value, PDvalue}Print["The pressure PD corresponding to the measured flowrate, \!\*SubscriptBox[\(Q, m]\) is: ", PDvalue];Print["The C1 value corresponding to the measured flowrate, \!\*SubscriptBox[\(Q, m]\) is: ", c1Value];