Boundary conditions
Each boundary has exactly one type of boundary conditions. For periodic boundary conditions, the opposite boundary must also be periodic. The available boundary conditions are given below.
IncompressibleNavierStokes.PeriodicBC
— TypePeriodicBC()
Periodic boundary conditions. Must be periodic on both sides.
IncompressibleNavierStokes.DirichletBC
— TypeDirichletBC()
No slip boundary conditions, where all velocity components are zero.
DirichletBC(u, dudt)
Dirichlet boundary conditions for the velocity, where u[1] = (x..., t) -> u1_BC
up to u[d] = (x..., t) -> ud_BC
, where d
is the dimension.
To make the pressure the same order as velocity, also provide dudt
.
IncompressibleNavierStokes.SymmetricBC
— TypeSymmetricBC()
Symmetric boundary conditions. The parallel velocity and pressure is the same at each side of the boundary. The normal velocity is zero.
IncompressibleNavierStokes.PressureBC
— TypePressureBC()
Pressure boundary conditions. The pressure is prescribed on the boundary (usually an "outlet"). The velocity has zero Neumann conditions.
Note: Currently, the pressure is prescribed with the constant value of zero on the entire boundary.
IncompressibleNavierStokes.offset_p
— Functionoffset_p(bc)
Number of non-DOF pressure components at boundary.
IncompressibleNavierStokes.offset_u
— Functionoffset_u(bc, isnormal, isright)
Number of non-DOF velocity components at boundary. If isnormal
, then the velocity is normal to the boundary, else parallel. If isright
, it is at the end/right/rear/top boundary, otherwise beginning.