(*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},x0.],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,v2,p1}}]
Out[]=
ParametricFunction
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"->,"PowerLawViscosity"->m,"YieldStress"->σ,"PlasticViscosity"->m,"ShearRateFactor"->m|>|>|>;pde=FluidFlowPDEComponent[vars,pars]=={0,0,0};
γ
ref
In[]:=
bcs={DirichletCondition[{u[x,y]1/2,v[x,y]0},x0.],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,v2,p1}}]
γ
ref
Out[]=
ParametricFunction
In[]:=
AbsoluteTiming[solutions=pfun@@@{{0.5,1,1,1}};]
1
0.
0.ComplexInfinity
2
1
0.5
0.
1
0.
0.ComplexInfinity
2
0.ComplexInfinity
2
Out[]=
$Aborted
In[]:=
uVelocities=solutions[[All,1]];
In[]:=
Plot[Evaluate[Through[uVelocities[28,y*1.5]]],{y,0,1}]
