RegularizeDPA
regularize the computation of dynamic pressure in order to reduce fluctuations
The
ClassicalDPA as well as the
AlternativeDPA lead to tremendous pressure fluctuations over time, that can
be observed especially for simulations in long channels, where only at one end there is a Dirichlet-condition,
whereas as all the other walls are modeled by Neumann-type conditions.
The problem here, most probably, comes from the fact, that the pressure Poisson equation stems from the
equation of momentum where we have a formulation on the gradient of pressure (overdetermined system,
containing 3*N equations for the N unknown pressure values). By application of the divergence operator,
see
DerivePoissonEquationForPressure , we obtain N equations for N unknown pressure values, but we most
probably loose information. This information loss might be the reason for the pressure fluctuations.
In general, the numerical discretization of the Pressure Poisson equation is given by
\begin{align} \sum\limits_{j=1}^{N(i)}{W_{ij}\left( \frac{1}{2}\frac{\rho _{i}+\rho _{j}}{\rho _{i}\rho _{j}}\left( p_{j}-p_{i} \right) \right)} = Q_i\end{align}
Such type of equation also arises, if we do not apply the divergence operator to the equation of momentum, instead we apply an arbitrary,
locally chosen vector \(\mathbf{q}_{i}\) to the equation of momentum, i.e.
\begin{align} \frac{1}{\rho _{i}}\mathbf{q}_{i}^{T}\nabla p_{i}=\frac{1}{\rho _{i}}\mathbf{q}_{i}^{T}\left( \nabla ^{T}\mathbf{S}_{v}\left( \mathbf{v} \right) \right)_{i}^{T}-\beta \cdot \mathbf{q}_{i}^{T}\mathbf{v}_{i}-\mathbf{q}_{i}^{T}\mathbf{\dot{v}}_{i} = Q^{reg}_i\end{align}
Discretize this equation in the FPM sense, i.e.
\begin{align} \sum\limits_{j=1}^{N(i)}{\frac{1}{\rho _{i}}\left( q_{i}^{x}\cdot c_{ij}^{x}+q_{i}^{y}\cdot c_{ij}^{y}+q_{i}^{z}\cdot c_{ij}^{z} \right)\cdot p_{j}}= Q^{reg}_i\end{align}
In fact, both equations aim to give an answer to the pressure. So, we could just add the enhancement,
such that the final, regularized linear system of equations is
\begin{align}
\sum\limits_{j=1}^{N(i)}{W_{ij}\left( \frac{1}{2}\frac{\rho _{i}+\rho _{j}}{\rho _{i}\rho _{j}}\left( p_{j}-p_{i} \right) \right)} + \sum\limits_{j=1}^{N(i)}{\frac{1}{\rho _{i}}\left( q_{i}^{x}\cdot c_{ij}^{x}+q_{i}^{y}\cdot c_{ij}^{y}+q_{i}^{z}\cdot c_{ij}^{z} \right)\cdot p_{j}}= Q_i + Q^{reg}_i
\end{align}
This regularization provides additional information on the slope / gradient of the pressure, whereas the
original Poisson equation provides only information about the curvature of the pressure.
The length of \(\mathbf{q}_{i}\) determines the weight of the regularization.
The observation so far is, that best result are obtained by \( \| \mathbf{q}_{i} \| < 0.1\)
Useful choices of the direction of \(\mathbf{q}_{i}\) could be the velocity, the direction of the pressure gradient itself, or the directions perpendicular to
the pressure gradient. We have implemented a collection in the sense
\begin{align}\mathbf{q}_{i}=c_{m}\cdot \frac{\mathbf{v}_{i}}{\left\| \mathbf{v}_{i} \right\|}+c_{n}\cdot \frac{\nabla p_{i}}{\left\| \nabla p_{i} \right\|}+c_{a}\cdot \frac{\mathbf{a}_{i}}{\left\| \mathbf{a}_{i} \right\|}+c_{b}\cdot \frac{\mathbf{b}_{i}}{\left\| \mathbf{b}_{i} \right\|}\end{align}
where the last two vectors \( \mathbf{a}_{i}, \mathbf{b}_{i}\) are perpendicular to the pressure gradient \( \nabla p_{i}\).
The choice of \( \mathbf{q}_{i}\) can be controlled by the user: