OpenQBMM implements realizable advection schemes which allow moments to be transported without compromising their realizability. Different schemes have been implemented for moments with support on the positive real line, used, for example, in problems involving size distributions, and for velocity moments.
Schemes for univariate moment transport of moments with support over the positive real line
The following options are available:
Scheme | Description | Order |
noAdvection | No advection. Used in zero-dimensional solvers to avoid unnecessary calculations | n/a |
firstOrderKinetic | First-order kinetic scheme. | 1 |
zeta | ζ simplified scheme of Laurent and Nguyen (2017). | 2 |
The noAdvection and is selected by specifying their name in the momentAdvection sub-dictionary in the quadratureProperties dictionary.
For no advection:
momentAdvection
{
univariateMomentAdvection noAdvection;
}
For the first-order kinetic and the ζ scheme, it is necessary to specify the moment inversion method.
momentAdvection
{
univariateMomentAdvection firstOrderKinetic;
basicMomentInversion
{
univariateMomentInversion GaussRadau;
}
}
The ζ scheme requires the moment inversion to be specified:
momentAdvection
{
univariateMomentAdvection zeta;
basicMomentInversion
{
univariateMomentInversion GaussRadau;
}
}
Important: The Gauss moment inversion should be used if an even number of nodes is used. If an odd number of moments is transported, the Gauss-Radau quadrature should be selected.
Selection of the reconstruction scheme
Note: the content of this section applies to version of OpenQBMM up to 4.0 included. Automatic selection of the appropriate reconstruction scheme is enforced in newer versions.
The first-order kinetic scheme requires the following entries in the interpolationSchemes sub-dictionary contained in the fvSolution dictionary:
“interpolate\(moment.*\)” upwind phi;
reconstruct(weight) upwind;
reconstruct(abscissa) upwind;
The ζ scheme requires the Minmod limiter is used for the zero-order moment and the ζk quantities used by the scheme. The following entries must be added to the interpolationSchemes sub-dictionary contained in the fvSolution dictionary:
reconstruct(m0) Minmod;
reconstruct(zeta) Minmod;
Courant–Friedrichs–Lewy condition for realizable schemes
The realizable advection schemes are explicit, and ensure the realizability of the transported moment set if an appropriate constraint on the time step is satisfied.
Scheme | Maximum CFL for realizability | Recommended settings |
noAdvection | No limitation. The code returns 1 for the scheme, since it is assumed that’s the maximum desired value. | n/a |
firstOrderUpwind | 1.0 | Adaptive time stepping. Provided solvers automatically compute the appropriate value of the CFL condition and enforce it if time-step adaption is active. |
zeta | Mesh-dependent: 1/(Number of cell faces with outgoing flux + 1) | Adaptive time stepping. Provided solvers automatically compute the appropriate value of the CFL condition and enforce it if time-step adaption is active. |
The CFL condition to ensure moment realizability is accessible using the realizableCo() method of the corresponding model. For example, in pbeTranportFoam, the following instruction is used to retrieve the maximum allowed value of the CFL condition:
scalar realizableCo = populationBalance().realizableCo();
Schemes for the transport of velocity moments
The following two schemes for velocity moment transport have been implemented:
Scheme | Description | Order |
noAdvection | No advection. Used in zero-dimensional solvers to avoid unnecessary calculations | n/a |
firstOrderKinetic | First-order kinetic scheme. | 1 |
Vikas | Quasi-second-order scheme of Vikas et al. (2011) | Quasi-2 |
The schemes are selected within the momentAdvection sub-dictionary contained in the quadratureProperties dictionary as follows:
momentAdvection
{
velocityMomentAdvection Vikas;
}
No special setting is required in the fvSchemes dictionary because the appropriate reconstruction strategy is selected automatically within the code.