1 Introduction

This paper considers the singular fine-structure of two-dimensional Stokes flow at the corner where a solid wall and a porous wall meet at arbitrary wedge angle \(\varTheta \) (Fig. 1). Within spiral-wound membrane modules, such a geometry can be found at the junction between the membrane and (1) the sealed entry or exit section of the wall [1, 2], or (2) a transverse filament of a ladder-type spacer [3,4,5,6,7]. These two cases are distinguished by the respective wedge angles \(\varTheta = \pi \) versus \(\varTheta = \pi /2\). For the former angle, our previous paper [8] uncovered a subtle singularity in the pressure, which would be expected to couple with osmotic effects and thereby affect the salt concentration profile in desalination by reverse osmosis. Here we shall apply and extend those asymptotic solutions and computational techniques to elucidate the progression of angles \(\varTheta = 3 \pi /4, \pi /2, \pi /4\), emphasizing important ways in which the new cases differ from the old. As before, the classic similarity form for Stokes flow solutions in angular wedges [9,10,11,12,13,14,15,16,17] will need to be generalized with a logarithmic dependence on the radial coordinate r [13, 18,19,20,21,22,23,24]. The extensive literature review in Nitsche and Parthasarathi [8] fleshed out the context of these papers and also provided a survey of theory and computation relevant to flow in channels with porous walls.

Fig. 1
figure 1

Lower left The general fluid domain is an angular wedge extending indefinitely in the radial coordinate, with the impermeable boundary (solid line) lying along the ray \(\theta = \varTheta \) and the porous membrane (dotted line) lying along the ray \(\theta = 0\). Upper right Schematic diagram of the flow channel in a spiral-wound membrane module. The horizontal arrows indicate tangential flow, and the vertical arrows indicate seepage through the porous membrane. The case \(\varTheta = \pi /2\) applies to a solid spacer adjoining the membrane, and represents one of the problems treated in this paper. The abrupt end of the sealed, entry section of the lower wall corresponds to \(\varTheta = \pi \), and was treated by Nitsche and Parthasarathi [8]. The singular points are indicated with large, closed circles

1.1 Statement of the problem

For generality, suppose that the fluid domain comprises an arbitrary angular wedge, with the impermeable boundary lying along the ray \(\theta = \varTheta \) and the porous membrane lying along the ray \(\theta = 0\) (Fig. 1). The porous membrane is characterized by Darcy permeability \(\kappa \) and thickness \(\ell \), in terms of which seepage and slip are described by the following boundary conditions for the normal (n) versus tangential (t) velocity components.

$$\begin{aligned} V_{n} = \frac{\kappa }{\mu \ell } \varDelta P, \qquad V_{t} = \frac{\sqrt{\kappa }}{\alpha } \left[ \frac{\partial V_{t}}{\partial n} + \frac{\partial V_{n}}{\partial t} \right] . \end{aligned}$$
(1)

The classic Beavers–Joseph slip condition [25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42] was originally phrased in terms of the normal derivative of the tangential velocity (i.e., only the first term in square brackets, above), whereas we add the transposed gradient term to make the slip velocity proportional to the wall shear stress—as appears in [27] and [30]. The difference is negligible at macroscopic lengthscales, but becomes significant when the problem is scaled to resolve the (weakly singular) fine structure at the origin. Specifically, smallness of the seepage velocity itself need not rule out appreciable magnitude of its tangential derivative.

Based upon the following characteristic scales,

$$\begin{aligned}&\text{ Characteristic } \text{ length: }&\kappa / \ell , \end{aligned}$$
(2)
$$\begin{aligned}&\text{ Characteristic } \text{ pressure: }&\mathcal{P}^{*}, \end{aligned}$$
(3)
$$\begin{aligned}&\text{ Characteristic } \text{ velocity: }&\mathcal{P}^{*} \kappa / (\mu \ell ), \end{aligned}$$
(4)

we pose the following dimensionless Stokes flow problem:

$$\begin{aligned}&\nabla ^{2} {\varvec{v}}= \nabla p,&0< r< \infty ,&0< \theta < \varTheta ,&\text{ Momentum }, \end{aligned}$$
(5)
$$\begin{aligned}&\frac{\partial (r v_{r})}{\partial r} + \frac{\partial v_{\theta }}{\partial \theta } = 0,&0< r< \infty ,&0< \theta < \varTheta ,&\text{ Continuity }, \end{aligned}$$
(6)
$$\begin{aligned}&v_{r}(r,\varTheta ) = 0,&0< r < \infty ,&&\text{ No } \text{ slip }, \end{aligned}$$
(7)
$$\begin{aligned}&v_{\theta }(r,\varTheta ) = 0,&0< r < \infty ,&&\text{ Impermeability }, \end{aligned}$$
(8)
$$\begin{aligned}&v_{r}(r,0) = \sigma \tau _{\theta r}(r,0),&0< r < \infty ,&&\text{ Slip }, \end{aligned}$$
(9)
$$\begin{aligned}&v_{\theta }(r,0) = - p(r,0),&0< r < \infty ,&&\text{ Seepage }, \end{aligned}$$
(10)
$$\begin{aligned}&p(r,\theta ) \sim p^{\infty }(r,\theta ),&r \rightarrow \infty ,&0< \theta < \varTheta ,&\text{ Far } \text{ field }, \end{aligned}$$
(11)
$$\begin{aligned}&{\varvec{v}}(r,\theta ) \sim {\varvec{v}}^{\infty }(r,\theta ),&r \rightarrow \infty ,&0< \theta < \varTheta ,&\text{ Far } \text{ field }. \end{aligned}$$
(12)

Without loss of generality for this incompressible flow, we have taken the pressure on the other side of the membrane (\(\theta \uparrow 0\), \(0< r < \infty \)) to vanish. The far-field pressure distribution is uniform, and this drives unit seepage flux through the membrane by Eq. (10):

$$\begin{aligned} p(r,\theta ) \rightarrow 1 \;\;\; \text{ for } \text{ all } \;\;\; 0< \theta < \varTheta \;\;\; \text{ and } \;\;\; v_{\theta }(r,0) \downarrow -1 \;\;\; \text{ as } \;\;\; r \rightarrow \infty . \end{aligned}$$
(13)

Equations (11) and (12) express this limit condition in more precise, asymptotic form—as will be explained below.

The slip condition (9) involves the shear stress

$$\begin{aligned} \tau _{\theta r} = \frac{1}{r} \left[ \frac{\partial v_{r}}{\partial \theta } - v_{\theta } \right] + \frac{\partial v_{\theta }}{\partial r}, \end{aligned}$$
(14)

and the dimensionless slip length \(\sigma \), which is here compared with a macroscopic length scale L, suitably reduced by the characteristic length \(\kappa / \ell \):

$$\begin{aligned} 1 \;\; \ll \;\; \sigma \;\; {\mathop {=}\limits ^{\mathrm{def}}}\;\; \frac{\ell }{\alpha \sqrt{\kappa }} \;\; \ll \;\; \frac{L}{\kappa / \ell }. \end{aligned}$$
(15)

One can expect \(\sigma \) to be very large for two reasons. First, the dimensionless Beavers–Joseph parameter \(\alpha \) is typically on the order of 0.1 [25, 28]. Second, \(\sqrt{\kappa }\) appearing in the denominator is on the order of the membrane pore size, which is vastly exceeded by the membrane thickness \(\ell \) appearing in the numerator. However, even if \(\sigma \) is very large the slip length will still appear negligibly small on the macroscopic scale.

The preceding observations regarding slip are clarified by examining the outer asymptotic limit invoked in Eqs. (11) and (12). This well-known similarity solution is very closely related to Taylor’s paint-scraper problem [9,10,11,12, 14,15,16,17, 43], and the normal flux along the ray \(\theta = 0\) matches the imposed far-field pressure according to the dimensionless form of Darcy’s law (10).

$$\begin{aligned} v_{r}^{\infty }(r,\theta ;\varTheta )= & {} \big [ \gamma (\varTheta ) \big ]^{-1} \big [ \beta (\varTheta ) \theta \sin \theta + \alpha (\varTheta ) \theta \cos \theta - \varTheta ^{2} \sin \theta \big ], \end{aligned}$$
(16)
$$\begin{aligned} v_{\theta }^{\infty }(r,\theta ;\varTheta )= & {} \big [ \gamma (\varTheta ) \big ]^{-1} \big [ \beta (\varTheta ) (\theta \cos \theta - \sin \theta ) - \alpha (\varTheta ) (\theta \sin \theta + \cos \theta ) -\varTheta ^{2} \cos \theta \big ], \end{aligned}$$
(17)
$$\begin{aligned} p^{\infty }(r,\theta ;\varTheta )= & {} 2 \big [ \gamma (\varTheta ) \, r \big ]^{-1} \big [ \alpha (\varTheta ) \sin \theta - \beta (\varTheta ) \cos \theta \big ] + 1, \end{aligned}$$
(18)
$$\begin{aligned} \tau _{\theta r}^{\infty }(r,\theta ;\varTheta )= & {} 2 \big [ \gamma (\varTheta ) \, r \big ]^{-1} \big [ \alpha (\varTheta ) \cos \theta + \beta (\varTheta ) \sin \theta \big ], \end{aligned}$$
(19)

with

$$\begin{aligned} \alpha (\varTheta )= & {} \cos ^{2}\varTheta - 1, \end{aligned}$$
(20)
$$\begin{aligned} \beta (\varTheta )= & {} \varTheta + \cos \varTheta \sin \varTheta , \end{aligned}$$
(21)
$$\begin{aligned} \gamma (\varTheta )= & {} \varTheta ^{2} + \cos ^{2}\varTheta - 1. \end{aligned}$$
(22)

The case \(\varTheta = \pi \) is unusual because this is the unique wedge angle for which the shear stress happens to vanish identically along the porous wall, according to Eqs. (19) and (20). Satisfaction of both no-slip and no-shear means that the slip condition (9) is then also satisfied exactly for any value of the slip length \(\sigma \). Nitsche and Parthasarathi [8] found this degeneracy to propagate beyond the leading outer solution through second order in both inner and outer asymptotic expansions, and concluded that slip does not play a role for the case of a flat abutment of porous and solid walls. The case \(\varTheta = \pi \) is now seen to be fluke: for any other wedge angle \(\varTheta \), the shear stress (19) is inconsistent with the radial velocity component (16) in Eq. (9). Nevertheless, this discrepancy vanishes in the limit as \(r \rightarrow \infty \) because the shear stress decays like \(r^{-1}\). A similar statement applies to the seepage condition (10). Thus, the flow field \(\{ v_{r}^{\infty }\), \(v_{\theta }^{\infty }\), \(p^{\infty }\), \(\tau _{r \theta }^{\infty } \}\) represents the correct outer asymptotic limit for the problem (5)–(12).

Fig. 2
figure 2

Streamlines for two-dimensional Stokes flow within a spiral-wound membrane module; cf. the schematic diagram in Fig. 1. The numerics were carried out using a least-squares variant of the method of fundamental solutions, as previously described by Nitsche and Parthasarathi [8]. The dimensionless slip length from Eqs. (9) and (15) is \(\sigma = 10\). The dimensionless height of the channel is denoted by H. Horizontal inflow at the left follows a fully developed parabolic velocity profile that is imposed as the upstream boundary condition. One quarter of the entering liquid flows out horizontally at the right (retentate), also in a parabolic velocity profile. Three quarters of the entering liquid seeps downward through the three porous sections along the bottom (permeate). a H = 10. b H = 100. c H = 1000

Fig. 3
figure 3

Streamlines for two-dimensional Stokes flow within a duct with a porous lower wall. The dimensionless slip length from Eqs. (9) and (15) is \(\sigma = 10\). The dimensionless height of the channel is denoted by H. Horizontal inflow at the left follows a fully developed parabolic velocity profile that is imposed as the upstream boundary condition. One quarter of the entering liquid flows out horizontally at the right (retentate), also in a parabolic velocity profile. Three quarters of the entering liquid seeps downward through the porous wall (permeate). a H = 10. b H = 100. c H = 1000

1.2 Practical implications for membrane modules

The numerical solutions described here and in Sects. 1.3 and 5 were carried out using a least-squares variant of the method of fundamental solutions, as described by Nitsche and Parthasarathi [8]. To illustrate tangential versus seepage flow in a membrane module (in quantitative detail, beyond the schematic diagram appearing in the upper right portion of Fig. 1), Fig. 2 shows calculated streamlines passing over, around, and between two transverse filaments of a ladder-type spacer. This geometry of a spiral-wound membrane module should be compared with Fig. 3 in the paper by Geraldes et al. [3]. The flow field would represent an input to an advection–diffusion model of the distribution of solute within the module. In reverse osmosis, which is used to desalinate seawater, the pressure field couples to the salt concentration field in an osmotic boundary condition imposed along the semipermeable membrane. Therefore, the fluid mechanics and solute mass transfer problems must be solved simultaneously. In the simpler case of ultrafiltration, which can be used to remove or purify macromolecules such as proteins or polymers, the solute concentration field is affected by (but does not mathematically couple back to) the flow field. The middle four points indicated with large circles represent the 90-degree flow singularities to be examined in this paper. The outer two, 180-degree singularities were elucidated by Nitsche and Parthsarathi [8]. Details of the flow field in the vicinity of the singular points, especially a subtle, infinite spike in the pressure, would be expected to affect reverse osmosis. The streamlines are calculated assuming Stokes flow: the limit of vanishing Reynolds number, wherein viscous effects dominate over inertial effects. Although Reynolds numbers in the range 50–1000 may be encountered in actual membrane modules [3], the dominance of viscous over inertial forces sufficiently near the singular points means that we can rely on the Stokes equations to elucidate the singularity [15].

Regarding observable ramifications of the Beavers–Joseph slip condition (9), Fig. 2 shows how the entire flow field is affected by the ratio of channel height H to slip length \(\sigma \). When H is much larger than \(\sigma \), seepage is more evenly distributed over the entire length of the membrane. When H is comparable to \(\sigma \), most of the seepage occurs in the upstream segment of the membrane. Figure 3 shows the same trend in the absence of spacers obstructing the flow.

The numerics leading to Fig. 2 do not sufficiently resolve fine-scale details of the flow singularities found at the junctions between solid and porous walls. Thus, we shall next focus on the canonical problem of a 90-degree wedge.

1.3 Purely numerical solution of the wedge problem and motivation for asymptotic analysis

Although the Mellin transform yields analytical solutions for a variety of Stokes flow problems posed in angular wedges [11, 13], such an attack is not useful for the problem (5)–(12); see Nitsche and Parthsarathi [8]. A purely numerical solution for \(\varTheta = \pi /2\) and \(\sigma = 20\) encounters difficulties with both the far and near fields: see Figs. 4 and 5. The leading outer solution (16)–(19) is insufficiently accurate to consistently impose boundary conditions analogous to Eqs. (11) and (12) even at a very large radius (\(r = 500\)). Accurate resolution of the inner scaling as \(r \rightarrow 0\) is also difficult even with extreme mesh refinement, and would benefit from analytical formulas. Following [8], we shall embark on asymptotic analyses for both the far and near fields, taking advantage of their results to compress the presentation. It will be of particular interest to illuminate the deep-seated way in which the previous case \(\varTheta = \pi \) differs from the smaller wedge angles considered here: \(\varTheta = 3\pi /4, \pi /2, \pi /4\).

1.4 Overview of the paper

In referring to the “inner” and “outer” solutions in this paper, we do not imply the method of matched asymptotic expansions in the presence of a small parameter. Rather, we intend these words as shorthand for power series approximations in the near field (\(r \rightarrow 0\)) and far field (\(r \rightarrow \infty \)).

Section 2 furnishes formulas for a logarithmically generalized similarity solution of the Stokes equations,

$$\begin{aligned} v(r,\theta ;\omega ) =\big [ A(\theta ;\omega ) + B(\theta ;\omega ) \ln r \big ] r^{\omega }, \end{aligned}$$
(23)

where the radial exponent \(\omega \) is arbitrary. This enables series expansions for both the near and far fields.

In Sect. 3, we derive two outer basis functions:

$$\begin{aligned} v^{{\mathrm{outer}},1}(r,\theta ;\varTheta ) =\,&A_{0}(\theta ;\varTheta ) + \sum _{n=1}^{N} \big [ A_{n}(\theta ;\varTheta ) + B_{n}(\theta ;\varTheta ) \ln r \big ] r^{-n}, \end{aligned}$$
(24)
$$\begin{aligned} v^{{\mathrm{outer}},2}(r,\theta ;\varTheta ) =\,&C_{1}(\theta ;\varTheta ) r^{-1} + \sum _{n=2}^{N} \big [ C_{n}(\theta ;\varTheta ) + D_{n}(\theta ;\varTheta ) \ln r \big ] r^{-n}, \end{aligned}$$
(25)

that will subsequently be combined into the far-field boundary condition for a hybrid numerical-asymptotic patching scheme (Sect. 5). Basis function \(v^{{\mathrm{outer}},1}\) starts from the leading outer solution (16)–(19), whereas basis function \(v^{{\mathrm{outer}},2}\) starts from a nontrivial solution satisfying homogeneous boundary conditions. Each successive term in Eqs. (24) and (25) exactly satisfies the Stokes equations and the boundary conditions along the solid wall; its purpose is to cancel out errors in the membrane boundary conditions (9) and (10) remaining from the previous term. These boundary corrections require a sequence of Stokes “building blocks” that satisfy prescribed conditions of slip and seepage along the porous wall (\(\theta = 0\)) for radial exponents \(\omega = -1, -2, \ldots \). For \(\omega = -1\), we give all the required constants exactly for wedge angles \(\varTheta = 3\pi /4, \pi /2, \pi /4\). For a right-angle wedge (\(\varTheta = \pi /2\)—see Fig. 1), we carry these exact constants as far as \(\omega = -5\). To automate the generation of higher boundary corrections in both outer basis functions \(v^{{\mathrm{outer}},1}\) and \(v^{{\mathrm{outer}},2}\) for an arbitrary wedge angle \(\varTheta \), we provide an object-oriented Fortan 2003 code that solves a sequence of \(8 \times 8\) linear algebraic systems for the required constants in the successive Stokes building blocks.

Fig. 4
figure 4

Angular velocity component for a right-angle wedge (\(\varTheta = \pi /2\)). Numerical curves of \(v_{\theta }\) versus r are plotted as thick lines for \(\theta = n \pi /12\) (\(n = 0, 1, \ldots , 5\)). Thin lines indicate the leading far-field solution (17) that serves as the boundary condition along the arc \(r = 500\). Note the obviously discontinuous slopes where the third, fourth, and fifth numerical curves meet the corresponding outer analytical curves

Fig. 5
figure 5

Radial velocity component for a right-angle wedge (\(\varTheta = \pi /2\)). Numerical curves of \(v_{r}\) versus r are plotted as thick lines for \(\theta = 0, \pi /4\). Thin lines indicate the leading far-field solution (16), which could not be imposed as a boundary condition on \(v_{r}\) because p and \(v_{\theta }\) had already been stipulated along the arc \(r = 500\). The numerical solution is inconsistent with the far-field flow

Section 4 develops an approximate inner solution in the form of a similarity power-series:

$$\begin{aligned} v^{\mathrm{inner}}(r,\theta ;\varTheta ) = r^{\omega ^{*}(\varTheta )} \big [ A_{0}(\theta ;\varTheta )+A_{1}(\theta ;\varTheta ) r + A_{2}(\theta ;\varTheta ) r^{2}+\ldots \big ], \end{aligned}$$
(26)

in which the leading exponent \(\omega ^{*}\) is generally not an integer or even a rational number. As before, each successive term exactly satisfies Eqs. (5)–(8) and functions to cancel errors in the membrane boundary conditions (9) and (10) remaining from the previous term. Independent of the numerics, we establish an algebraic criterion for determining the admissible values(s) of \(\omega ^{*}\) from which to launch the inner power series for a given wedge angle \(\varTheta \). For the right-angle wedge (\(\varTheta = \pi /2\)), there is only one solution branch: \(\omega ^{*} = 1/2\). In this special case, we provide exact constants for the ascending Stokes building blocks to carry the membrane-boundary corrections through the sixth order. More generally, we map out the \((\varTheta ,\omega ^{*})\) parameter plane and show how infinitely many solution branches cluster around the two special angles \(\varTheta = \pi , 2\pi \). We also automate the generation of higher membrane-boundary corrections for a given solution branch. When there are multiple possible values of the leading exponent, the inner scaling suggested by the numerics corresponds to the lowest admissible exponent \(\omega ^{*}(\varTheta )\).

In Sect. 5, we combine the numerics and outer expansion into an iterative patching scheme as previously described by Nitsche and Parthasarathi [8]. Graphs of the singular flow field are presented for three wedge angles (\(\varTheta = 3\pi /4, \pi /2, \pi /4\)) and two dimensionless slip lengths (\(\sigma = 20, 40\)). The numerics at intermediate r are seen to merge smoothly with both the inner and outer series solutions. In ending this section and continuing to Sect. 6, we conclude with observations on the physics of the flow field as well as the underlying mathematics: in particular, how the case of a flat wedge (\(\varTheta = \pi \)) previously considered by Nitsche and Parthsarathi [8] differs fundamentally from other wedge angles.

2 Generalized similarity solution

To treat Stokes flow singularities at corners [21] and contact lines [22] as well as biharmonic problems in the linear elasticity of wedges [18,19,20, 23, 24], the similarity solution has been generalized by introducing a logarithmic term in r. As the derivation of general formulas was detailed in [8], we shall here present only the final form of the flow field:

$$\begin{aligned}&v_{r}(r,\theta ;\omega ,{\varvec{a}},{\varvec{b}}) = \Big \{ \big [ {\varvec{a}}\cdot {\varvec{f}}_{r}(\theta ;\omega ) \big ] \ln r +\big [ {\varvec{a}}\cdot {\varvec{g}}_{r}(\theta ;\omega ) + {\varvec{b}}\cdot {\varvec{f}}_{r}(\theta ;\omega ) \big ] \Big \} r^{\omega }, \end{aligned}$$
(27)
$$\begin{aligned}&v_{\theta }(r,\theta ;\omega ,{\varvec{a}},{\varvec{b}}) = \Big \{ \big [ {\varvec{a}}\cdot {\varvec{f}}_{\theta }(\theta ;\omega ) \big ] \ln r +\big [ {\varvec{a}}\cdot {\varvec{g}}_{\theta }(\theta ;\omega ) + {\varvec{b}}\cdot {\varvec{f}}_{\theta }(\theta ;\omega ) \big ] \Big \} r^{\omega }, \end{aligned}$$
(28)
$$\begin{aligned}&p(r,\theta ;\omega ,{\varvec{a}},{\varvec{b}}) = \Big \{ \big [ {\varvec{a}}\cdot {\varvec{f}}_{p}(\theta ;\omega ) \big ] \ln r + \big [ {\varvec{a}}\cdot {\varvec{g}}_{p}(\theta ;\omega ) + {\varvec{b}}\cdot {\varvec{f}}_{p}(\theta ;\omega ) \big ] \big \} r^{\omega - 1}, \end{aligned}$$
(29)
$$\begin{aligned}&\tau _{\theta r}(r,\theta ;\omega ,{\varvec{a}},{\varvec{b}}) = \Big \{ \big [ {\varvec{a}}\cdot {\varvec{f}}_{\tau }(\theta ;\omega ) \big ] \ln r + \big [ {\varvec{a}}\cdot {\varvec{g}}_{\tau }(\theta ;\omega ) + {\varvec{b}}\cdot {\varvec{f}}_{\tau }(\theta ;\omega ) \big ] \Big \} r^{\omega - 1}. \end{aligned}$$
(30)

The four-component, vectorial functions \({\varvec{f}}(\theta ;\omega )\) and \({\varvec{g}}(\theta ;\omega )\) are listed in Appendix 1. Suitable selection of the vectorial constants,

$$\begin{aligned} {\varvec{a}}= \left( \begin{array}{r} a_{1} \\ a_{2} \\ a_{3} \\ a_{4} \end{array} \right) , \quad {\varvec{b}}= \left( \begin{array}{r} b_{1} \\ b_{2} \\ b_{3} \\ b_{4} \end{array} \right) , \end{aligned}$$
(31)

allows for the satisfaction of boundary conditions along the porous wall (\(\theta = 0\)) and the solid wall (\(\theta = \varTheta \)).

The case \(\omega = -1\) is special because the third component of each function \({\varvec{f}}_{r}(\theta ;-1)\), \({\varvec{f}}_{\theta }(\theta ;-1)\), \({\varvec{f}}_{p}(\theta ;-1)\), \({\varvec{f}}_{\tau }(\theta ;-1)\) vanishes. This renders the constant \(b_{3}\) superfluous and thereby reduces the degrees of freedom to seven.

When \(\omega = 1\), the velocity and pressure fields do not fit within the general form of Eqs. (27)–(29):

$$\begin{aligned} v_{r}(r,\theta ;1,{\varvec{a}},{\varvec{b}})= & {} \Big \{ \big [ {\varvec{a}}\cdot {\varvec{f}}_{r}(\theta ;1) \big ] \ln r + \big [ {\varvec{a}}\cdot {\varvec{g}}_{r}(\theta ;1) + {\varvec{b}}\cdot {\varvec{f}}_{r}(\theta ;1) - b_{4} \big ] \Big \} r, \end{aligned}$$
(32)
$$\begin{aligned} v_{\theta }(r,\theta ;1,{\varvec{a}},{\varvec{b}})= & {} \Big \{ \big [ {\varvec{a}}\cdot {\varvec{f}}_{\theta }(\theta ;1) \big ] \ln r + \big [ {\varvec{a}}\cdot {\varvec{g}}_{\theta }(\theta ;1) + {\varvec{b}}\cdot {\varvec{f}}_{\theta }(\theta ;1) + 2 (b_{3} + \theta b_{4}) \big ] \Big \} r, \end{aligned}$$
(33)
$$\begin{aligned} p(r,\theta ;1,{\varvec{a}},{\varvec{b}})= & {} \big [ -4 b_{4} \big ] \ln r . \end{aligned}$$
(34)

However, \(\tau _{\theta r}(r,\theta ;1,{\varvec{a}},{\varvec{b}})\) is given by Eq. (30). The third and fourth components of the vector coefficient functions \({\varvec{f}}_{r}(\theta ;1)\), \({\varvec{f}}_{\theta }(\theta ;1)\), \({\varvec{f}}_{\tau }(\theta ;1)\), \({\varvec{g}}_{r}(\theta ;1)\), \({\varvec{g}}_{\theta }(\theta ;1)\), \({\varvec{g}}_{\tau }(\theta ;1)\) vanish. This renders the constants \(a_{3}\) and \(a_{4}\) superfluous and thereby reduces the degrees of freedom to six.

3 Outer expansion in powers of 1 / r

The far-field solution (16)–(19) exhibits discrepancies in the slip and seepage conditions (9) and (10) along the porous wall. Specifically, the shear stress and pressure deviate from their respective velocity asymptotes at order \(r^{-1}\); see Table 1. The first step toward diminishing these errors would be to find a new Stokes solution whose radial and angular velocity components exactly cancel the heretofore unbalanced shear stress and pressure contributions, leaving the next discrepancy to order \(r^{-2}\).

Table 1 Flow profiles along the porous wall for the leading outer solution (16)–(19) when \(\varTheta = 3 \pi / 4, \pi / 2, \pi / 4\)

3.1 Stokes building blocks

In order to systematize the successive cancellation of errors in the slip and seepage conditions into an iteration scheme [8], we shall introduce a sequence of Stokes “building blocks:”

$$\begin{aligned} \left\{ \hat{v}_{r}^{(i)}(r,\theta ;\omega ), \hat{v}_{\theta }^{(i)}(r,\theta ;\omega ), \hat{p}^{(i)}(r,\theta ;\omega ), \hat{\tau }_{\theta r}^{(i)}(r,\theta ;\omega ) \right\} , \end{aligned}$$
(35)

that are generalized similarity solutions (27)–(30) of the Stokes problem (5)–(8). Collectively denoted with a circumflex (\(\hat{\;\;}\)) and individually distinguished by the corresponding numerical superscript (i), these solutions are determined by prescribed profiles of the radial and angular velocity components along the porous boundary:

$$\begin{aligned}&\hat{v}_{r}^{(1)}(r,0;\omega ) = r^{\omega }, \,\,\quad \qquad \hat{v}_{\theta }^{(1)}(r,0;\omega ) = 0, \end{aligned}$$
(36)
$$\begin{aligned}&\hat{v}_{r}^{(2)}(r,0;\omega ) = r^{\omega } \ln r, \,\,\quad \hat{v}_{\theta }^{(2)}(r,0;\omega ) = 0, \end{aligned}$$
(37)
$$\begin{aligned}&\hat{v}_{r}^{(3)}(r,0;\omega ) = 0, \qquad \qquad \hat{v}_{\theta }^{(3)}(r,0;\omega ) = r^{\omega }, \end{aligned}$$
(38)
$$\begin{aligned}&\hat{v}_{r}^{(4)}(r,0;\omega ) = 0, \qquad \qquad \hat{v}_{\theta }^{(4)}(r,0;\omega ) = r^{\omega } \ln r, \end{aligned}$$
(39)
$$\begin{aligned}&\hat{v}_{r}^{(5)}(r,0;\omega ) = 0, \qquad \qquad \hat{v}_{\theta }^{(5)}(r,0;\omega ) = 0. \end{aligned}$$
(40)

Boundary conditions (40) represent a non-trivial solution whose velocity field happens to vanish along the walls. The constants \({\varvec{a}}(\omega )\) and \({\varvec{b}}(\omega )\) for each building block are obtained by solving a linear algebraic system that represents the boundary conditions:

$$\begin{aligned} \left( \begin{array}{cc} {\varvec{g}}_{r}(\varTheta ,\omega ) &{} \quad {\varvec{f}}_{r}(\varTheta ,\omega ) \\ {\varvec{f}}_{r}(\varTheta ,\omega ) &{} \quad {\varvec{0}}\\ {\varvec{g}}_{\theta }(\varTheta ,\omega ) &{} \quad {\varvec{f}}_{\theta }(\varTheta ,\omega ) \\ {\varvec{f}}_{\theta }(\varTheta ,\omega ) &{} \quad {\varvec{0}}\\ {\varvec{g}}_{r}(0,\omega ) &{} \quad {\varvec{f}}_{r}(0,\omega ) \\ {\varvec{f}}_{r}(0,\omega ) &{} \quad {\varvec{0}}\\ {\varvec{g}}_{\theta }(0,\omega ) &{} \quad {\varvec{f}}_{\theta }(0,\omega ) \\ {\varvec{f}}_{\theta }(0,\omega ) &{} \quad {\varvec{0}}\end{array} \right) \left( \begin{array}{c} a_{1}(\omega ) \\ a_{2}(\omega ) \\ a_{3}(\omega ) \\ a_{4}(\omega ) \\ b_{1}(\omega ) \\ b_{2}(\omega ) \\ b_{3}(\omega ) \\ b_{4}(\omega ) \end{array} \right) = \left( \begin{array}{c} 0 \\ 0 \\ 0 \\ 0 \\ *\\ *\\ *\\ *\end{array} \right) . \end{aligned}$$
(41)

Corresponding to conditions (36)–(40), respectively, the lower half of the right-hand-side vector is given by

$$\begin{aligned} \left( \begin{array}{c} *\\ *\\ *\\ *\end{array} \right) = \left( \begin{array}{c} 1 \\ 0 \\ 0 \\ 0 \end{array} \right) , \quad \left( \begin{array}{c} 0 \\ 1 \\ 0 \\ 0 \end{array} \right) , \quad \left( \begin{array}{c} 0 \\ 0 \\ 1 \\ 0 \end{array} \right) , \quad \left( \begin{array}{c} 0 \\ 0 \\ 0 \\ 1 \end{array} \right) , \quad \left( \begin{array}{c} 0 \\ 0 \\ 0 \\ 0 \end{array} \right) . \end{aligned}$$
(42)

Note that the last case requires a singular matrix in Eq. (41). The leading far-field solution (16)–(19) is a special case of Eq. (38) for \(\omega = 0\):

$$\begin{aligned} v_{r}^{\infty }(r,\theta ) = -\hat{v}_{r}^{(3)}(r,\theta ;0), \quad v_{\theta }^{\infty }(r,\theta ) = -\hat{v}_{\theta }^{(3)}(r,\theta ;0). \end{aligned}$$
(43)

The first correction (\(\omega = -1\)) must provide seepage and slip velocities along the porous wall \(\theta = 0\) to balance the \(r^{-1}\) pressure and stress contributions from the leading outer solution (Table 1). At this order, the logarithmic profiles (37) and (39) are not needed. However, there is a nontrivial homogeneous solution (40) as well. Thus, we have three building block solutions for \(\omega = -1\): \(i = 1, 3, 5\). Over and above the degeneracy already mentioned at the end of Sect. 2, the case \(\omega = -1\) is special and warrants further elaboration as follows. The matrix in Eq. (41) is singular, and we were guided partly by intuition in eliminating the remaining degree of freedom. Thus, we judiciously included one or more additional stipulation(s) on pressure and/or shear stress along the porous wall until a numerical least-squares solution of the resultant rectangular matrix equation (i.e., nominally overspecified linear system) satisfied all equations within machine precision. The decimal figures for the constants \({\varvec{a}}^{(i)}(-1)\) and \({\varvec{b}}^{(i)}(-1)\) were then recognized as being fractions or ratios involving \(\pi \) (in some cases using the Wolfram Alpha Computational Knowledge EngineFootnote 1). The “exact” constants thus inferred were validated post facto by substituting them into the boundary conditions (36)–(40). For the cases \(\varTheta = 3 \pi / 4\), \(\varTheta = \pi / 2\), and \(\varTheta = \pi /4\), the constants \({\varvec{a}}^{(i)}(-1)\) and \({\varvec{b}}^{(i)}(-1)\) are given in Table 5; see Appendix 2. The corresponding shear-stress and pressure profiles along the porous wall appear in Table 2.

For all higher corrections (\(\omega = -2, -3, \ldots \)), the matrix in Eq. (41) is observed to be nonsingular, and the numerical generation of solutions (36)–(39) can be automated. For the case \(\varTheta = \pi /2\), Tables 6 and 7 list exact solutions through \(\omega = -5\).

Table 2 Shear-stress and pressure profiles along the porous wall for the solutions (36), (38), (40) when \(\omega = -1\) and \(\varTheta = 3 \pi /4, \pi / 2, \pi /4\)

3.2 Outer basis functions obtained with an iteration scheme

The outer asymptotic solution will be obtained by superposing two basis functions:

$$\begin{aligned} \left\{ v_{r}^{{\mathrm{outer}},1}, v_{\theta }^{{\mathrm{outer}},1}, p^{{\mathrm{outer}},1}, \tau _{\theta r}^{{\mathrm{outer}},1} \right\} , \quad \left\{ v_{r}^{{\mathrm{outer}},2}, v_{\theta }^{{\mathrm{outer}},2}, p^{{\mathrm{outer}},2}, \tau _{\theta r}^{{\mathrm{outer}},2} \right\} . \end{aligned}$$
(44)

For each basis function k (\(k = 1, 2\)), we posit an iteration series

$$\begin{aligned} v_{r}^{{\mathrm{outer}},k}(r,\theta )&= v_{r}^{{\mathrm{outer}},k [0]}(r,\theta ) + v_{r}^{{\mathrm{outer}},k [1]}(r,\theta ) + \ldots , \end{aligned}$$
(45)
$$\begin{aligned} v_{\theta }^{{\mathrm{outer}},k}(r,\theta )&= v_{\theta }^{{\mathrm{outer}},k [0]}(r,\theta ) + v_{\theta }^{{\mathrm{outer}},k [1]}(r,\theta ) + \ldots , \end{aligned}$$
(46)
$$\begin{aligned} p^{{\mathrm{outer}},k}(r,\theta )&= p^{{\mathrm{outer}},k [0]}(r,\theta ) + p^{{\mathrm{outer}},k [1]}(r,\theta ) + \ldots , \end{aligned}$$
(47)
$$\begin{aligned} \tau _{\theta r}^{{\mathrm{outer}},k}(r,\theta )&= \tau _{\theta r}^{{\mathrm{outer}},k [0]}(r,\theta ) + \tau _{\theta r}^{{\mathrm{outer}},k [1]}(r,\theta ) + \ldots , \end{aligned}$$
(48)

where the slip and seepage velocities at each order are now driven by the corresponding shear stress and pressure at the previous order:

$$\begin{aligned} v^{{\mathrm{outer}},k [j]}_{r}(r,0)&= \sigma \tau _{\theta r}^{{\mathrm{outer}},k [j-1]}(r,0), \end{aligned}$$
(49)
$$\begin{aligned} v^{{\mathrm{outer}},k [j]}_{\theta }(r,0)&= -p^{{\mathrm{outer}},k [j-1]}(r,0), \end{aligned}$$
(50)

as motivated by boundary conditions (9) and (10). The first basis function starts with the leading far-field solution (16)–(19), whereas the second basis function starts with the nontrivial homogeneous solution (40) for \(\omega = -1\): \(v_{r} = {\text{ ord }}(r^{-1})\), \(v_{\theta } = {\text{ ord }}(r^{-1})\), \(p = {\text{ ord }}(r^{-2})\), \(\tau _{\theta r} ={\text{ ord }}(r^{-2})\).

$$\begin{aligned}&v_{r}^{{\mathrm{outer}},1 [0]}(r,\theta ) = -\hat{v}_{r}^{(3)}(r,\theta ;0), \qquad v_{r}^{{\mathrm{outer}},2 [0]}(r,\theta ) = \hat{v}_{r}^{(5)}(r,\theta ;-1), \end{aligned}$$
(51)
$$\begin{aligned}&v_{\theta }^{{\mathrm{outer}},1 [0]}(r,\theta ) = -\hat{v}_{\theta }^{(3)}(r,\theta ;0), \qquad v_{\theta }^{{\mathrm{outer}},2 [0]}(r,\theta ) = \hat{v}_{\theta }^{(5)}(r,\theta ;-1), \end{aligned}$$
(52)
$$\begin{aligned}&p^{{\mathrm{outer}},1 [0]}(r,\theta ) = -\hat{p}^{(3)}(r,\theta ;0), \qquad p^{{\mathrm{outer}},2 [0]}(r,\theta ) = \hat{p}^{(5)}(r,\theta ;-1), \end{aligned}$$
(53)
$$\begin{aligned}&\tau _{\theta r}^{{\mathrm{outer}},1 [0]}(r,\theta ) = -\hat{\tau }_{\theta r}^{(3)}(r,\theta ;0), \qquad \tau _{\theta r}^{{\mathrm{outer}},2 [0]}(r,\theta ) = \hat{\tau }_{\theta r}^{(5)}(r,\theta ;-1). \end{aligned}$$
(54)

We shall now illustrate the scheme of iterating on the boundary conditions (49) and (50) for the first basis function for a right-angle wedge (\(\varTheta = \pi / 2\)). Starting off the iteration with the far-field similarity solution (16)–(19), Table 1 indicates unbalanced contributions of \(-8 (\pi ^{2} - 4)^{-1} r^{-1}\) in the shear stress and \(-4 \pi (\pi ^{2} - 4)^{-1} r^{-1}\) in the pressure along the porous wall. These should be canceled by radial and angular velocity components, respectively, from suitable multiples of the first and third building block solutions for \(\omega = -1\). Thus, we find the first correction:

$$\begin{aligned} v_{r}^{{\mathrm{outer}},1 [1]}(r,\theta ) =&- 8 \sigma (\pi ^{2} - 4)^{-1} \hat{v}_{r}^{(1)}(r,\theta ;-1) + 4 \pi (\pi ^{2} - 4)^{-1} \hat{v}_{r}^{(3)}(r,\theta ;-1). \end{aligned}$$
(55)

The corresponding equations for \(v_{\theta }^{{\mathrm{outer}},1 [1]}\), \(p^{{\mathrm{outer}},1 [1]}\) and \(\tau _{\theta r}^{{\mathrm{outer}},1 [1]}\) are omitted for brevity. According to Table 2, we now find unbalanced contributions of \(8 \pi (\pi ^{2} - 4)^{-1} r^{-2} \ln r\) in the shear stress and \((2 \pi ^{2} - 8 \sigma ) (\pi ^{2} - 4)^{-1} r^{-2}\) in the pressure along the porous wall. Canceling these terms requires the second and third building block solutions for \(\omega = -2\). The second correction is then

$$\begin{aligned} v_{r}^{{\mathrm{outer}},1 [2]}(r,\theta ) =&8 \pi \sigma (\pi ^{2} - 4)^{-1} \hat{v}_{r}^{(2)}(r,\theta ;-2) + (8 \sigma - 2 \pi ^{2}) (\pi ^{2} - 4)^{-1} \hat{v}_{r}^{(3)}(r,\theta ;-2). \end{aligned}$$
(56)

The iteration can be continued using the ascending formulas for the shear-stress and pressure profiles in Table 7. Indeed, by solving the linear system (41) by Gaussian elimination, an unending supply of higher building blocks can be generated, and the iteration programmed to arbitrarily high order. An object-oriented module for this purpose, written in Fortran 2003, is provided in the Supplementary Material. A sample code appearing in Appendix 3 illustrates the calling sequence for obtaining the outer asymptotic Stokes flow field (45)–(48).

4 Inner power series

For iterative satisfaction of the slip and seepage conditions (9), (10) in the near field, we require only pure similarity solutions for the Stokes building blocks:

$$\begin{aligned} \left\{ \check{v}_{r}^{(i)}(r,\theta ;\omega ), \check{v}_{\theta }^{(i)}(r,\theta ;\omega ), \check{p}^{(i)}(r,\theta ;\omega ), \check{\tau }_{\theta r}^{(i)}(r,\theta ;\omega ) \right\} . \end{aligned}$$
(57)

These are denoted with an inverted circumflex (\(\check{\;\;}\)) and determined by prescribed profiles of the shear stress and pressure along the porous boundary—as opposed to the slip and seepage velocities; cf. Eqs. (36)–(40).

$$\begin{aligned}&\check{\tau }_{\theta r}^{(1)}(r,0;\omega ) = r^{\omega - 1}, \,\quad \check{p}^{(1)}(r,0;\omega ) = 0, \end{aligned}$$
(58)
$$\begin{aligned}&\check{\tau }_{\theta r}^{(2)}(r,0;\omega ) = 0, \qquad \quad \check{p}^{(2)}(r,0;\omega ) = r^{\omega - 1}, \end{aligned}$$
(59)
$$\begin{aligned}&\check{\tau }_{\theta r}^{(3)}(r,0;\omega ) = 0, \qquad \quad \check{p}^{(3)}(r,0;\omega ) = 0. \end{aligned}$$
(60)

Referring to the same vector coefficient functions \({\varvec{f}}_{r}(\theta ;\omega )\), \({\varvec{f}}_{\theta }(\theta ;\omega )\), \({\varvec{f}}_{\tau }(\theta ;\omega )\), \({\varvec{f}}_{p}(\theta ;\omega )\) from Sect. 2, the general solutions (27)–(30) reduce to

$$\begin{aligned} v_{r}(r,\theta ;\omega ,{\varvec{b}})= & {} \big [ {\varvec{b}}\cdot {\varvec{f}}_{r}(\theta ;\omega ) \big ] r^{\omega }, \end{aligned}$$
(61)
$$\begin{aligned} v_{\theta }(r,\theta ;\omega ,{\varvec{b}})= & {} \big [ {\varvec{b}}\cdot {\varvec{f}}_{\theta }(\theta ;\omega ) \big ] r^{\omega }, \end{aligned}$$
(62)
$$\begin{aligned} p(r,\theta ;\omega ,{\varvec{b}})= & {} \big [ {\varvec{b}}\cdot {\varvec{f}}_{p}(\theta ;\omega ) \big ] r^{\omega - 1}, \end{aligned}$$
(63)
$$\begin{aligned} {\tau }_{\theta r}(r,\theta ;\omega ,{\varvec{b}})= & {} \big [ {\varvec{b}}\cdot {\varvec{f}}_{\tau }(\theta ;\omega ) \big ] r^{\omega - 1} \end{aligned}$$
(64)

when \(\omega \ne 1\). For the case \(\omega = 1\), Eqs. (32)–(34) reduce to

$$\begin{aligned} v_{r}(r,\theta ;1,{\varvec{b}})= & {} \big [ {\varvec{b}}\cdot {\varvec{f}}_{r}(\theta ;\omega ) - b_{4} \big ] r, \end{aligned}$$
(65)
$$\begin{aligned} v_{\theta }(r,\theta ;1,{\varvec{b}})= & {} \big [ {\varvec{b}}\cdot {\varvec{f}}_{\theta }(\theta ;\omega ) + 2 (b_{3} + \theta b_{4}) \big ] r, \end{aligned}$$
(66)
$$\begin{aligned} p(r,\theta ;1,{\varvec{b}})= & {} \big [ -4 b_{4} \big ] \ln r . \end{aligned}$$
(67)

For each building block, the vector constant \({\varvec{b}}(\omega )\) is obtained by solving the \(4 \times 4\) linear algebraic system that represents the boundary conditions:

$$\begin{aligned} \left( \begin{array}{ccc} \; &{} \;\; &{} \; \\ \; &{} \mathbf{F}(\varTheta ,\omega ) &{} \; \\ \; &{} \;\; &{} \; \\ \; &{} \;\; &{} \; \end{array} \right) \left( \begin{array}{c} b_{1} \\ b_{2} \\ b_{3} \\ b_{4} \end{array} \right) = \left( \begin{array}{c} {\textemdash }{\varvec{f}}_{r}(\varTheta ,\omega ) {\textemdash } \\ {\textemdash } {\varvec{f}}_{\theta }(\varTheta ,\omega ) {\textemdash } \\ {\textemdash } {\varvec{f}}_{\tau }(0,\omega ) {\textemdash } \\ {\textemdash } {\varvec{f}}_{p}(0,\omega ) {\textemdash } \end{array} \right) \left( \begin{array}{c} b_{1} \\ b_{2} \\ b_{3} \\ b_{4} \end{array} \right) = \left( \begin{array}{c} *\\ *\\ *\\ *\end{array} \right) . \end{aligned}$$
(68)

Corresponding to conditions (58)–(60), respectively, the right-hand-side vector is given by

$$\begin{aligned} \left( \begin{array}{c} *\\ *\\ *\\ *\end{array} \right) = \left( \begin{array}{c} 0 \\ 0 \\ 1 \\ 0 \end{array} \right) , \quad \left( \begin{array}{c} 0 \\ 0 \\ 0 \\ 1 \end{array} \right) , \quad \left( \begin{array}{c} 0 \\ 0 \\ 0 \\ 0 \end{array} \right) . \end{aligned}$$
(69)

For the inner building blocks when \(\varTheta = \pi /2\), Table 8 (Appendix 2) lists the constants \(b_{j}^{(i)}(\omega )\) for various values of \(\omega \), whereas Table 3 gives the corresponding profiles of slip and seepage velocity along the porous wall.

Table 3 Slip and seepage velocity profiles for the solutions (58)–(60) when \(\varTheta = \pi / 2\) and \(\omega \) = 1/2, 3/2, \(\ldots \), 13/2
Fig. 6
figure 6

Dependence of \(\log _{10} \det [\mathbf{F}(\varTheta ,\omega )]\) upon \(\omega \) for three wedge angles \(\varTheta \). a \(\varTheta = \pi /4\) (thick line), and \(\varTheta = \pi /2\) (thin line). b \(\varTheta = 3 \pi /4\)

Fig. 7
figure 7

Radial exponent \(\omega ^{*}\) of the leading inner similarity solution in Eq. (26) as a function of wedge angle \(\varTheta \). This map shows multiple solution branches of Eq. (76)

For the inner asymptotic solution, we posit an iteration series,

$$\begin{aligned} v_{r}^{\mathrm{inner}}(r,\theta )&= \check{v}_{r}^{(3)}(r,\theta ;\omega ^{*}) + v_{r}^{\mathrm{inner} [1]}(r,\theta ) + v_{r}^{\mathrm{inner} [2]}(r,\theta ) + \ldots , \end{aligned}$$
(70)
$$\begin{aligned} v_{\theta }^{\mathrm{inner}}(r,\theta )&= \check{v}_{\theta }^{(3)}(r,\theta ;\omega ^{*}) + v_{\theta }^{\mathrm{inner} [1]}(r,\theta ) + v_{\theta }^{\mathrm{inner} [2]}(r,\theta ) + \ldots , \end{aligned}$$
(71)
$$\begin{aligned} p^{\mathrm{inner}}(r,\theta )&= \check{p}^{(3)}(r,\theta ;\omega ^{*}) + p^{\mathrm{inner} [1]}(r,\theta ) + p^{\mathrm{inner} [2]}(r,\theta ) + \ldots , \end{aligned}$$
(72)
$$\begin{aligned} \tau _{\theta r}^{\mathrm{inner}}(r,\theta )&= \check{\tau }_{\theta r}^{(3)}(r,\theta ;\omega ^{*}) + \tau _{\theta r}^{\mathrm{inner} [1]}(r,\theta ) + \tau _{\theta r}^{\mathrm{inner} [2]}(r,\theta ) + \ldots , \end{aligned}$$
(73)

where (reversing the procedure from the outer asymptotics) the shear stress and pressure at each order are now driven by the corresponding slip and seepage velocities at the previous order:

$$\begin{aligned} \tau _{\theta r}^{\mathrm{inner} [j]}(r,0)&= \sigma ^{-1} v^{\mathrm{inner} [j-1]}_{r}(r,0), \end{aligned}$$
(74)
$$\begin{aligned} p^{\mathrm{inner} [j]}(r,0)&= -v^{\mathrm{inner} [j-1]}_{\theta }(r,0). \end{aligned}$$
(75)

The preliminary numerics provide an estimate of the leading radial exponent \(\omega ^{*}\) and indicate that it depends on the wedge angle \(\varTheta \). However, we need not rely on the numerics at all: indeed, the premise that the inner asymptotic expansion (70)–(73) should start with a similarity solution [8] suggests a procedure for determining \(\omega ^{*}(\varTheta )\). According to the iteration equations (49) and (50), a nonvanishing shear stress and/or pressure profile along the porous wall would have to be balanced by slip and/or seepage velocity components with radial exponent \(\omega ^{*}- 1\). Thus, we would face an infinite regress of descending exponents (\(\omega ^{*}- 2\), \(\omega ^{*}- 3\), \(\omega ^{*}- 4\), \(\ldots \)) already familiar from the outer solution. This we cannot allow for a flow field that is supposed to begin an inner iteration series of ascending exponents. The only resolution is to have a nontrivial solution when both the shear stress and pressure vanish along the porous wall, i.e., a nontrivial homogeneous solution of the linear system (68). Thus, an algebraic criterion for suitability of the exponent \(\omega ^{*}(\varTheta )\) is

$$\begin{aligned} \det [\mathbf{F}(\varTheta ,\omega ^{*})] = 0. \end{aligned}$$
(76)

In Fig. 6, we plot three curves of \(\log _{10} \det [\mathbf{F}(\varTheta ,\omega )]\) versus \(\omega \), corresponding to \(\varTheta = 3 \pi /4\), \(\pi /2\), \(\pi /4\). Each downward cusp indicates an exponent at which the determinant vanishes. Thus, we find \(\omega ^{*}= 1\) for \(\varTheta = \pi /4\) and \(\omega ^{*}= 1/2\) for \(\varTheta = \pi /2\). There are three solutions for \(\varTheta = 3 \pi /4\): \(\omega ^{*}\) = 0.456, 1, and 1.544. By varying the wedge angle \(\varTheta \) at which we carried out an automated (fixed-\(\varTheta \)) scan in \(\omega \), we generated Fig. 7: a map of solutions of Eq. (76). The unexpectedly rich structure of solution branches includes an infinite sequence of half-integral exponents \(\omega ^{*}= 1/2, 3/2, 5/2, 7/2, \ldots \) at \(\varTheta = \pi \); see [8]. Each admissible value of the radial exponent \(\omega ^{*}(\varTheta )\) could provide the leading similarity solution for an inner power series (26). For our inner solution, we start off the series with the lowest exponent, because this will dominate over other solutions as \(r \rightarrow 0\) (and was observed in the numerics).

For a right-angle wedge (\(\varTheta = \pi / 2\)), we shall now illustrate the scheme for iterating on the boundary conditions (74) and (75) to find the inner solution (70)–(73). According to Table 3, the leading homogeneous solution (having exponent \(\omega ^{*}= 1/2\)) leaves unbalanced contributions of \((1/2) r^{1/2}\) for the radial velocity component and \(r^{1/2}\) for the angular velocity component along the porous wall. The first correction that cancels them with shear stress and pressure, respectively, utilizes suitable multiples of two building blocks for \(\omega = 3/2\).

$$\begin{aligned} v_{r}^{\mathrm{inner} [1]}(r,\theta ) = (2 \sigma )^{-1} \check{v}_{r}^{(1)}(r,\theta ;3/2) - \check{v}_{r}^{(2)}(r,\theta ;3/2). \end{aligned}$$
(77)

According to Table 3, we now find unbalanced contributions of \(-(3 \sigma + 1) (12 \sigma )^{-1} r^{3/2}\) in the radial velocity component and \((2 - \sigma ) (6 \sigma )^{-1} r^{3/2}\) in the angular velocity component along the porous wall. To cancel these, we need shear stress and pressure from the building blocks for \(\omega = 5/2\).

$$\begin{aligned} v_{r}^{\mathrm{inner} [2]}(r,\theta ) = -\left( \frac{3 \sigma + 1}{12 \sigma ^{2}} \right) \check{v}_{r}^{(1)}(r,\theta ;5/2) \, + \, \left( \frac{\sigma - 2}{6 \sigma } \right) \check{v}_{r}^{(2)}(r,\theta ;5/2). \end{aligned}$$
(78)

The iteration can be continued using the ascending formulas for the porous-wall velocity profiles in Table 3. The series can be extended as far as desired by solving the linear system (68) by Gaussian elimination. A derived type for calculating the inner asymptotic series has been programmed in Fortran 2003 (Supplementary Material). This is invoked in a manner analogous to the outer solution; see the sample code in Appendix 3.

Table 4 Parameters and coefficients from the numerical-asymptotic, hybrid solution
Fig. 8
figure 8

Numerically calculated pressure p plotted as a function of radius r at fixed angle \(\theta \) (thick lines). Thin lines indicate the inner asymptotic solution (72). The curves correspond to angular increments \(\varDelta \theta = \varTheta / 6\) for graphs (a) and (b). Only the curves for \(\theta = 0\) and \(\theta = \varTheta \) are plotted in graph (c). The dimensionless slip length is \(\sigma = 20\). a \(\varTheta = 3\pi /4\). b \(\varTheta = \pi /2\). c \(\varTheta = \pi /4\)

Fig. 9
figure 9

Numerically calculated angular velocity component \(v_{\theta }\) plotted as a function of radius r at fixed angle \(\theta \) in increments of \(\varDelta \theta = \varTheta / 6\) (thick lines). Thin lines indicate the outer (80) and inner (71) asymptotic solutions. The dimensionless slip length is \(\sigma = 20\). a \(\varTheta = 3\pi /4\). b \(\varTheta = \pi /2\). c \(\varTheta = \pi /4\)

Fig. 10
figure 10

Numerically calculated radial velocity component \(v_{r}\) plotted as a function of radius r at fixed angles \(\theta = 0\) and \(\theta = \varTheta / 2\). Thin lines indicate the outer (79) and inner (70) asymptotic solutions. The dimensionless slip length is \(\sigma = 20\). a \(\varTheta = 3\pi /4\). b \(\varTheta = \pi /2\). c \(\varTheta = \pi /4\)

Fig. 11
figure 11

Effect of slip length \(\sigma \) on profiles of the radial velocity component \(v_{r}\) versus r at fixed angles \(\theta = 0, \varTheta / 6, \varTheta / 3\). Thick lines represent the numerical solution: solid for \(\sigma = 20\) versus dashed for \(\sigma = 40\). Thin lines indicate the outer asymptotic formula (79). a \(\varTheta = \pi /2\). b \(\varTheta = \pi /4\)

5 Iterative numerical-asymptotic patching scheme and results

Consider an outer asymptotic flow field superposed from the two basis functions (44) obtained in Sect. 3:

$$\begin{aligned} v_{r}^{\mathrm{outer}}(r,\theta ;C)&= v_{r}^{{\mathrm{outer}},1}(r,\theta ) + C v_{r}^{{\mathrm{outer}},2}(r,\theta ), \end{aligned}$$
(79)
$$\begin{aligned} v_{\theta }^{\mathrm{outer}}(r,\theta ;C)&= v_{\theta }^{{\mathrm{outer}},1}(r,\theta ) + C v_{\theta }^{{\mathrm{outer}},2}(r,\theta ), \end{aligned}$$
(80)
$$\begin{aligned} p^{\mathrm{outer}}(r,\theta ;C)&= p^{{\mathrm{outer}},1}(r,\theta ) + C p^{{\mathrm{outer}},2}(r,\theta ). \end{aligned}$$
(81)

We do not yet know what weight C should be assigned to the second basis function, which does not contribute at leading order to either slip or seepage along the porous wall. For an initial numerical problem (solved with a least-squares variant of the method of fundamental solutions, as described in [8]), we replace the asymptotic conditions (11) and (12) with boundary conditions along a distant arc \(r = R_{2}\):

$$\begin{aligned} p^{\mathrm{numer}}(R_{2},\theta )&= p^{\mathrm{outer}}(R_{2},\theta ;C), \quad 0< \theta < \varTheta , \end{aligned}$$
(82)
$$\begin{aligned} v_{\theta }^{\mathrm{numer}}(R_{2},\theta )&= v_{\theta }^{\mathrm{outer}}(R_{2},\theta ;C), \quad 0< \theta < \varTheta , \end{aligned}$$
(83)

using C = 0. The numerically calculated radial velocity component, which was not prescribed with any boundary condition, will initially not be consistent with \(v_{r}^{\mathrm{outer}}(R_{2},\theta ;0)\). Nitsche and Parthasarathi [8] describe an iterative scheme by which the floating coefficient C can be systematically updated in the boundary conditions (82) and (83) so as to converge to that special value \(C^{\mathrm{outer}}\) for which the consistency condition

$$\begin{aligned} v_{r}^{\mathrm{numer}}(R_{2},\theta ) = v_{r}^{\mathrm{outer}}(R_{2},\theta ;C^{\mathrm{outer}}), \quad 0< \theta < \varTheta , \end{aligned}$$
(84)

is also satisfied within an acceptable tolerance. We then determine a suitable prefactor \(C^{\mathrm{inner}}\) with which to match the inner asymptotic solution (70)–(72) as closely as possible to the numerical solution along a small arc \(r = R_{1}\). Table 4 lists the parameters and resultant coefficients.

For the three wedge angles \(\varTheta = 3\pi /4, \pi /2, \pi /4\), and a dimensionless slip length \(\sigma = 20\), Figs. 8, 9, and 10 show profiles of p, \(v_{\theta }\), and \(v_{r}\) versus r along rays that emanate from the origin. For \(\varTheta = 3\pi /4, \pi /2\), one observes minor numerical fluctuations in some of the pressure profiles at small r (Fig. 8a, b). In fitting the inner asymptotic solution to the numerics for \(\varTheta = 3\pi /4\), we have accepted a compromise in the accuracy of \(v_{\theta }\) (Fig. 9a) in favor of p (Fig. 8a).

In all cases, the pressure must tend to zero as \(r \rightarrow 0\) along the porous wall, because it is tied to the seepage velocity according to boundary condition (10). The cases \(\varTheta = 3\pi /4, \pi /2\) show a subtle singularity wherein the pressure blows up approaching the origin from any other direction (Fig. 8a, b). This is also true for the flat wedge (\(\varTheta = \pi \)) considered in [8] but not for the more acute wedge (\(\varTheta = \pi /4\)); see Fig. 8c. Comparing Figs. 4 and 9b, we see that higher corrections in the outer asymptotic solution can significantly smooth the outer terminus of the numerical solution for \(v_{\theta }\). We are surprised by the results for \(v_{r}\) because the initial, purely numerical curves (Fig. 5) cannot be distinguished visually from the definitive final results (Fig. 10b), even though the former suffered from an inaccurate outer boundary stipulation. (How could the numerical \(v_{r}\) “know” to be inconsistent with the leading outer \({\varvec{v}}_{\theta }^{\infty }\) and \(p^{\infty }\) in just such a way as to match the correct profile?) From Figs. 8, 9, and 10, we discern two main trends for decreasing wedge angle. First, the magnitude of the radial velocity component increases. Second, the approach to the far field is pushed out to greater distance from the singularity.

Increasing the slip length \(\sigma \) from 20 to 40 does not substantially alter the profiles of p and \(v_{\theta }\), which are therefore not shown. Only \(v_{r}\) is more obviously affected—mainly for the smallest wedge angle \(\varTheta = \pi /4\) and close to the porous membrane (i.e., at small \(\theta \)); see Fig. 11.

6 Concluding remarks

Our initial motivation for considering junctions between porous and solid walls lay in the internal flow geometry of spiral wound membrane modules [1,2,3,4,5,6,7], where the pressure singularities uncovered here and in the preceding paper by Nitsche and Parthasarathi [8] would be expected to couple with osmotic effects and thereby affect the salt concentration profile in desalination by reverse osmosis. Having deployed an algebraic criterion for ascertaining the radial exponent of the leading inner similarity solution at arbitrary wedge angle, we then combined numerical analysis with asymptotic expansions to map out the flow field at all radii for three specific wedge angles: 45, 90, and 135 degrees. For the first of these (and more acute wedges), the pressure tends to zero as \(r \rightarrow 0\) from all directions. For less-acute wedges, the pressure tends to zero only along the porous wall while blowing up in an integrable way approaching the origin from all other directions. Results from our algebraic criterion show an unexpectedly rich, multibranched structure of similarity exponents as functions of the wedge angle.

Numerical and asymptotic results reported here indicate why the flat wedge (180 degrees) was a far more unusual fluke than Nitsche and Parthasarathi [8] had realized at the time. Only in that case was slip at the porous wall not a factor. Furthermore, each additional correction in both the inner and outer asymptotic expansions seemed to become complicated by a further power of \(\ln r\). (Thus, the asymptotics were taken only to second order.) For any smaller wedge angle as considered here, all higher corrections involve only the first power of \(\ln r\).

Unlimited order of the asymptotics now dispels an unwritten subtext that the previous paper [8] seemed to imply: “If only we could carry the inner and outer asymptotics to sufficiently high order, then we could match the two together without requiring an intervening numerical solution.” This hope is not borne out: however high the order may be, the inner and outer asymptotic curves veer away from the numerical splice and cannot be reconciled in between. What this implies about the underlying mathematical structure of the Stokes problem is not yet clear to us.

Note Added in Proof: For a problem of piston-driven flow in a circular tube, F. W. Bruns (J Colloid Interface Sci 74:341–348, 1980) resolved a nonintegrable stress singularity by allowing slip and seepage near the moving contact line. Orienting the planar analog of his axisymmetric flow geometry with the lower left diagram in Fig. 1, his formulation would involve slip along both walls and seepage through what is our solid wall (\(\theta = \varTheta \)). Our continuous seepage profile \( v_{\theta }(r,0) \) along the porous wall (\(\theta = 0\)), which is plotted in Fig. 9b, would also be replaced by Bruns with a uniform, plug velocity profile. By way of contrast, we prohibit slip and seepage along the solid wall (\(\theta = \varTheta \)) and allow both effects along the porous wall (\(\theta = 0\)). Bruns dealt explicitly only with the right-angle case (\( \varTheta = \pi /2 \)) whereas we have presented detailed results for three wedge angles (\( \varTheta = 3\pi / 4, \pi /2, \pi /4 \)) and mapped out the inner similarity exponents for \( 0< \varTheta < 2\pi \).