Dynamic Flow Control#
The purpose of this subsection is to enable dynamic flow control. It is important when we want to simulate an average velocity on a specific boundary (CFD) or the whole domain (for CFD-DEM). To control the average velocity of the flow, the code calculates a \(\beta\) coefficient at each time step that is used as a source term in the momentum equation to keep the average velocity at a targeted value.
The main controller of the average velocity is the following equation and is based on approach of Wang [1]:
The default parameters are:
subsection flow control
set enable = false
set enable beta particle = false
set average velocity = 0.0
set inlet boundary id = 0
set flow direction = 0
set initial beta = 0.0
set alpha = 1.0
set beta threshold = 0.0
set verbosity = quiet
end
The
enable
parameter is set totrue
to enable an imposed average velocity.The
enable beta particle
parameter is set totrue
to apply a proportional beta force on particles:
The
average velocity
parameter specifies the targeted average velocity (\(m/s\)). The value is compared to the calculated value at a boundary (for CFD solvers) or the whole domain (for CFD-DEM solver).
Note
If you are simulating a problem with periodic boundary conditions, it is important to control the average velocity by specifying the boundary id that corresponds to the inlet only.
The
inlet boundary id
parameter is the boundary where the average velocity intended is controlled (for CFD solvers only).The
flow direction
parameter sets the absolute direction. It should be0
if the flow is in the \(x\) direction,1
in the \(y\) direction and2
in the \(z\) direction.The
initial beta
parameter sets an initial \(\beta\) coefficient that may speed up the convergence of the average velocity target. Some tests should be done to find a good initial \(\beta\) coefficient.
Tip
A good method to find a reasonable initial beta is to test two or three different initial beta parameters, write down the given flow rate at the first time step in the simulation and do a regression. The correlation is linear and giving a proper value will reduce the time it takes to reach the target velocity.
The
alpha
parameter is a relaxation coefficient that is used to control the convergence speed or stability. The higher the value, the faster the convergence. However, if the value is too high, there might be oscillations and the simulation could be unstable.The
beta threshold
parameter is the threshold on beta calculated at the previous time step that prevents the new calculated beta force to be updated. Ifabs(beta_n - beta_n+1) < abs(beta_n * beta_threshold)
, the previous beta value is kept. This could avoid the reassembly of the matrix because of the updated force term when reuse matrix option is enabled for the non-linear solver.