# チャンネルのストークス流

チャンネル領域を指定する．

 In[1]:= X\[CapitalOmega] = ImplicitRegion[ 0 <= x <= 2 && 0 <= y <= 0.5 && ! (x >= 1 && y <= 0.1) && ! (x >= 1 && y >= 0.4), {x, y}]; RegionPlot[\[CapitalOmega], AspectRatio -> Automatic, ImageSize -> 300]
 Out[1]=

ストークス流演算子を定義する．

 In[2]:= XstokesFlowOperator = {Inactive[ Div][({{-1, 0}, {0, -1}}.Inactive[Grad][u[x, y], {x, y}]), {x, y}] + \!\(\*SuperscriptBox[\(w\), TagBox[ RowBox[{"(", RowBox[{"1", ",", "0"}], ")"}], Derivative], MultilineFunction->None]\)[x, y], Inactive[ Div][({{-1, 0}, {0, -1}}.Inactive[Grad][v[x, y], {x, y}]), {x, y}] + \!\(\*SuperscriptBox[\(w\), TagBox[ RowBox[{"(", RowBox[{"0", ",", "1"}], ")"}], Derivative], MultilineFunction->None]\)[x, y], \!\(\*SuperscriptBox[\(v\), TagBox[ RowBox[{"(", RowBox[{"0", ",", "1"}], ")"}], Derivative], MultilineFunction->None]\)[x, y] + \!\(\*SuperscriptBox[\(u\), TagBox[ RowBox[{"(", RowBox[{"1", ",", "0"}], ")"}], Derivative], MultilineFunction->None]\)[x, y]};

 In[3]:= XSubscript[\[CapitalGamma], D] = { DirichletCondition[u[x, y] == 4*0.3*y*(0.5 - y)/(0.41)^2, x == 0.], DirichletCondition[{u[x, y] == 0., v[x, y] == 0.}, 0 < x < 2], DirichletCondition[w[x, y] == 0., x == 2]};

 In[4]:= X{xVel, yVel, pressure} = NDSolveValue[{stokesFlowOperator == {0, 0, 0}, Subscript[\[CapitalGamma], D]}, {u, v, w}, {x, y} \[Element] \[CapitalOmega], Method -> {"FiniteElement", "InterpolationOrder" -> {u -> 2, v -> 2, w -> 1}}];

 Out[5]=

## Mathematica

Questions? Comments? Contact a Wolfram expert »