(*Powerlawfluid*)
In[]:=
r=RegionUnion[Rectangle[{0,-1/2},{5,1/2}],Rectangle[{5,-3/2},{30,3/2}]];
In[]:=
Needs["NDSolve`FEM`"]
In[]:=
mesh=ToElementMesh[r,MaxCellMeasure->0.1];​​mesh["Wireframe"]
Out[]=
In[]:=
vars={{u[x,y],v[x,y],p[x,y]},{x,y}};​​pars=<|"DynamicViscosity"->1,"MassDensity"->1,​​"FluidDynamicsMaterialModel"-><|"PowerLaw"-><|"Exponent"->n,"PowerLawViscosity"->m|>|>​​|>;​​pde=FluidFlowPDEComponent[vars,pars]=={0,0,0};
In[]:=
bcs={DirichletCondition[​​{u[x,y]1/2,v[x,y]0},x0.],DirichletCondition[{u[x,y]0,v[x,y]0},0<x<30],​​DirichletCondition[p[x,y]0,x==30]};
In[]:=
pfun=ParametricNDSolveValue[{pde,bcs},{u,v,p},{x,y}∈mesh,{n,m},Method{"FiniteElement","InterpolationOrder"{u->2,v2,p1}}]
Out[]=
ParametricFunction
Expression: {u,v,p}
Parameters: {n,m}

In[]:=
AbsoluteTiming[solutions=pfun@@@{{0.5,0.008838835},{1,0.0125},{1.5,0.01767767},{2,0.025}};]
Out[]=
{12.4093,Null}
In[]:=
uVelocities=solutions[[All,1]];
In[]:=
Plot[Evaluate[Through[uVelocities[28,y*1.5]]],{y,0,1}]
Out[]=
(*Herschel-Bulkley-PapanastasiouFluid*)
In[]:=
r=RegionUnion[Rectangle[{0,-1/2},{5,1/2}],Rectangle[{5,-3/2},{30,3/2}]];
In[]:=
Needs["NDSolve`FEM`"]
In[]:=
mesh=ToElementMesh[r,MaxCellMeasure->0.1];​​mesh["Wireframe"]
Out[]=
In[]:=
vars={{u[x,y],v[x,y],p[x,y]},{x,y}};​​pars=<|"DynamicViscosity"->1,"MassDensity"->1,​​"FluidDynamicsMaterialModel"-><|"Herschel-Bulkley-Papanastasiou"-><|"Exponent"->n,"ReferenceShearRate"->

γ
ref
,"PowerLawViscosity"->m,"YieldStress"->σ,"PlasticViscosity"->m,"ShearRateFactor"->m|>|>​​|>;​​pde=FluidFlowPDEComponent[vars,pars]=={0,0,0};
In[]:=
bcs={DirichletCondition[​​{u[x,y]1/2,v[x,y]0},x0.],DirichletCondition[{u[x,y]0,v[x,y]0},0<x<30],​​DirichletCondition[p[x,y]0,x==30]};
In[]:=
pfun=ParametricNDSolveValue[{pde,bcs},{u,v,p},{x,y}∈mesh,{n,m,σ,

γ
ref
},Method{"FiniteElement","InterpolationOrder"{u->2,v2,p1}}]
Out[]=
ParametricFunction
Expression: {u,v,p}
Parameters: n,m,σ,

γ
ref


In[]:=
AbsoluteTiming[solutions=pfun@@@{{0.5,1,1,1}};]
Power
:Infinite expression
1
0.
encountered.
Infinity
:Indeterminate expression
0.ComplexInfinity
2
encountered.
Power
:Infinite expression
1
0.5
0.
encountered.
Power
:Infinite expression
1
0.
encountered.
General
:Further output of Power::infy will be suppressed during this calculation.
Infinity
:Indeterminate expression
0.ComplexInfinity
2
encountered.
Infinity
:Indeterminate expression
0.ComplexInfinity
2
encountered.
General
:Further output of Infinity::indet will be suppressed during this calculation.
Out[]=
$Aborted
In[]:=
uVelocities=solutions[[All,1]];
In[]:=
Plot[Evaluate[Through[uVelocities[28,y*1.5]]],{y,0,1}]