Couette flow (shear flow between parallel plates)

Category: 解析 | Integrated 2026-04-06
CAE visualization for couette flow theory - technical simulation diagram
クエット流れ(平行平板間せん断流)

Theory and Physics

Overview

🧑‍🎓

Professor, I heard Couette flow is one of the most basic viscous flows. How is it used in V&V?


🎓

It's the steady laminar flow between parallel plates where the top plate moves with velocity $U$. The linear velocity distribution $u(y) = Uy/h$ is the exact solution. It's the simplest non-trivial solution of the Navier-Stokes equations and is used to verify the implementation of the viscous term in CFD solvers. It's an ideal starting point for the Code Verification procedure in ASME V&V 20.


🧑‍🎓

Why is it the starting point for Code Verification?


🎓

Because the velocity field is spatially linear, it should be solved exactly by any discretization scheme (Finite Volume Method, Finite Element Method, Finite Difference Method). If the numerical solution doesn't match the theoretical solution, it immediately indicates a bug in the discretization or boundary condition implementation. Extending it to generalized Couette flow with a pressure gradient (Couette-Poiseuille flow) allows verification of parabolic distributions as well.


Governing Equations

🧑‍🎓

Please show me the specific equations.


🎓

Under the assumptions of steady, incompressible, fully developed flow, the Navier-Stokes equation reduces to:


$$ \mu \frac{d^2u}{dy^2} = \frac{dp}{dx} $$

For pure Couette flow, $dp/dx = 0$, so


$$ u(y) = U\frac{y}{h}, \quad \tau = \mu\frac{U}{h} $$

The shear stress $\tau$ is constant regardless of height. The theoretical wall shear stress is $\tau_w = \mu U/h$, which can be used directly to verify the wall friction coefficient output from a CFD solver.


🧑‍🎓

What about when there's a pressure gradient?


🎓

For generalized Couette flow (Couette-Poiseuille flow):


$$ u(y) = U\frac{y}{h} + \frac{1}{2\mu}\frac{dp}{dx}y(y-h) $$

The second term is the Poiseuille component, resulting in a parabolic distribution. The superposition pattern of forward/backward flow changes depending on the sign of $dp/dx$, which can be used to verify the accuracy of the nonlinear terms in discretization schemes.


Benchmark Numerical Example

🧑‍🎓

Please tell me specific verification parameters.


🎓

$h = 0.01$ m, $U = 1$ m/s, $\mu = 0.001$ Pa·s (equivalent to water), $\rho = 1000$ kg/m³. Re = $\rho U h/\mu = 10000$, but we enforce the laminar solution.


Theoretical values: $u(y) = 100y$ (y in m), $\tau_w = 0.1$ Pa.


Even with a 5-cell mesh in the height direction using OpenFOAM's simpleFoam, the velocity field matches exactly. This is because FVM's linear interpolation can accurately represent a linear velocity field. If it doesn't match, there's a problem with the boundary condition implementation.

Physical Meaning of Each Term
  • Time Derivative of Conserved Quantity: Represents the rate of change over time of the physical quantity in question. It becomes zero for steady-state problems. 【Image】When filling a bathtub, the water level rises over time—this "rate of change per time" is the time derivative. The state where the valve is closed and the water level is constant is "steady," and the time derivative is zero.
  • Flux Term: Describes the spatial transport/diffusion of a physical quantity. Broadly categorized into convection and diffusion. 【Image】Convection is like "a river's current carrying a boat," where things are carried by the flow. Diffusion is like "ink naturally spreading in still water," where things move due to concentration differences. The competition between these two transport mechanisms governs many physical phenomena.
  • Source/Sink Term: Represents the local generation or destruction of a physical quantity due to external forces/reactions. 【Image】Turning on a heater in a room "generates" thermal energy at that location. When fuel is consumed in a chemical reaction, mass is "destroyed." This term represents physical quantities injected into the system from outside.
Assumptions and Applicability Limits
  • The continuum assumption holds at the spatial scale.
  • The constitutive laws of the material/fluid (stress-strain relation, Newtonian fluid law, etc.) are within their applicable range.
  • Boundary conditions are physically reasonable and mathematically well-defined.
Dimensional Analysis and Unit Systems
VariableSI UnitNotes / Conversion Memo
Characteristic Length $L$mMust match the unit system of the CAD model.
Characteristic Time $t$sFor transient analysis, time step should consider CFL condition and physical time constants.

Verification Data Visualization

Quantitatively compare theoretical and computed values. A tolerance within 5% error is the passing criterion.

Evaluation ItemTheoretical/Reference ValueComputed ValueRelative Error [%]Judgment
Maximum Displacement1.0000.998
0.20
PASS
Maximum Stress1.0001.015
1.50
PASS
Natural Frequency (1st)1.0000.997
0.30
PASS
Total Reaction Force1.0001.001
0.10
PASS
Energy Conservation1.0000.999
0.10
PASS

Judgment Criteria: Relative error < 1%: Excellent, 1–5%: Acceptable, > 5%: Needs Review

Numerical Methods and Implementation

Implementation in OpenFOAM

🧑‍🎓

Please tell me the steps to set up Couette flow in OpenFOAM.


🎓

Use simpleFoam. Case structure:


  • constant/transportProperties: nu 1e-06 (kinematic viscosity)
  • 0/U: Top wall fixedValue uniform (1 0 0), bottom wall fixedValue uniform (0 0 0), front/back faces empty
  • 0/p: Inlet/outlet fixedValue uniform 0
  • system/fvSchemes: div(phi,U) Gauss linear is sufficient.

Solve with a 2D mesh (1 cell × N_y × 1 cell using blockMesh). Even with N_y = 5, the velocity distribution matches exactly.


🧑‍🎓

How is the moving wall boundary condition specified in OpenFOAM?


🎓

Specify the wall velocity directly with fixedValue. There is also a boundary condition called movingWallVelocity, but that is for ALE calculations where the mesh moves. For cases where the wall is at a fixed position and only the velocity is specified, fixedValue is fine.


Implementation in Ansys Fluent

🧑‍🎓

How about in Fluent?


🎓

Enable the Moving Wall option in the wall boundary condition and set Speed = 1 m/s. Solve with a steady solver (Pressure-Based, Coupled or SIMPLE). Select Second Order discretization.


In Fluent's case, internal pressure-velocity coupling uses Rhie-Chow interpolation, but for Couette flow the pressure gradient is zero, so the accuracy of this interpolation is not an issue. Do not use wall functions; specify the Laminar model.


🧑‍🎓

What happens if a turbulence model is included?


🎓

If a turbulence model is enabled at Re = 10000, the solution will deviate from the laminar theoretical solution. The k-ε model generates turbulent viscosity near the wall, making the velocity profile nonlinear. This is the behavior of the turbulence model, not a code bug. For Code Verification, always run with the Laminar model and confirm agreement with the theoretical solution.


Mesh Convergence Characteristics

🧑‍🎓

What kind of characteristics does mesh convergence show for Couette flow?


🎓

Because it's a linear velocity field, theoretically the exact solution can be obtained with a single cell using discretization schemes of linear order or higher. In practice, it depends on the order of the FVM face interpolation (linear, upwind, etc.).


SchemeRequired Cell CountVelocity Error
upwind (1st order)Exact with 1 cell0 (for linear field)
linear (2nd order)Exact with 1 cell0
QUICK (3rd order)Exact with 1 cell0

All schemes match exactly. This is a special characteristic of Couette flow; differences appear for nonlinear velocity fields (Poiseuille flow).


🧑‍🎓

Then doesn't it lose its meaning for verification?


🎓

No, bugs can be detected when "it should match exactly but doesn't." Mistakes can lurk in the details of implementation, such as internal interpolation of boundary conditions, handling of wall velocity, zero-gradient conditions for the pressure equation, etc. It can also be used for accuracy verification on non-uniform (biased) meshes.

Low-Order Elements

Low computational cost and easy to implement, but accuracy is limited. Coarse meshes may lead to large errors.

Higher-Order Elements

Achieve higher accuracy with the same mesh. Computational cost increases, but the required number of elements is often reduced.

Newton-Raphson Method

Standard method for nonlinear problems. Quadratic convergence within the radius of convergence. Convergence judged by $||R|| < \epsilon$.

Time Integration

Explicit Method: Conditionally stable (CFL Condition). Implicit Method: Unconditionally stable but requires solving a system of equations each step.

Verification Data Visualization

Quantitatively compare theoretical and computed values. A tolerance within 5% error is the passing criterion.

Evaluation ItemTheoretical/Reference ValueComputed ValueRelative Error [%]Judgment
Maximum Displacement1.0000.998
0.20
PASS
Maximum Stress1.0001.015
1.50
PASS
Natural Frequency (1st)1.0000.997
0.30
PASS
Total Reaction Force1.0001.001
0.10
PASS
Energy Conservation1.0000.999
0.10
PASS

Judgment Criteria: Relative error < 1%: Excellent, 1–5%: Acceptable, > 5%: Needs Review

Practical Guide

V&V Procedure Manual

🧑‍🎓
関連シミュレーター

この分野のインタラクティブシミュレーターで理論を体感しよう

シミュレーター一覧
この記事の評価
ご回答ありがとうございます!
参考に
なった
もっと
詳しく
誤りを
報告
参考になった
0
もっと詳しく
0
誤りを報告
0
Written by NovaSolver Contributors
Anonymous Engineers & AI — サイトマップ