|
TrioCFD 1.9.8
TrioCFD documentation
|
This page documents implementation-level aspects of the Pb_Multiphase framework: the evanescence operator (central to phase/model management) and an overview of the spatial and time discretization schemes. The governing-equation derivation and the physical models are covered in the Multiphase Flow section.
Evanescence is a TRUST-library operator applied to the momentum or energy equation; it relaxes a property (velocity or temperature) of a minority phase toward that of a predominant phase. It is systematically attached to the momentum equation for numerical stability and is optional in the energy equation. The notation uses subscripts mino (minority phase), pred (predominant phase) and i (a non-specific phase).
The multiphase resolution uses a non-conservative form of the momentum equations ( \(v_i\) is evaluated, not \(\alpha_i\rho_i v_i\)), which can cause large velocity divergence where \(\alpha_i\) is locally low. Evanescence enforces coherence by imposing a relation between the minority and predominant velocities, \(v_{\text{mino}}=v_{\text{pred}}+v_{\text{drift}}\) (with \(v_{\text{drift}}=0\) by default, or set by a drift-velocity correlation). Two thresholds are defined: \(\alpha_{res,min}\) (below which a minority phase is treated as null) and \(\alpha_{res}>\alpha_{res,min}\) (below which the velocity is relaxed). The operator transforms the momentum pair as:
\[\begin{pmatrix}\mathcal{Q}_{\text{pred}}\\ \mathcal{Q}_{\text{mino}}\end{pmatrix}\Longrightarrow\begin{pmatrix}\mathcal{Q}_{\text{pred}}+c\,\mathcal{Q}_{\text{mino}}-c\,(v_{\text{mino}}=v_{\text{pred}}+v_{\text{drift}})\\ (1-c)\,\mathcal{Q}_{\text{mino}}+c\,(v_{\text{mino}}=v_{\text{pred}}+v_{\text{drift}})\end{pmatrix} \]
with the relaxation coefficient \(c=\min\left(1,\ \max\left(0,\ \frac{\alpha_{res}-\alpha_{\text{mino}}}{\alpha_{res,min}-\alpha_{res}}\right)\right)\), coded in the class Op_Evanescence_Homogene_Face_base.
The three regimes are:
In other words, \(c=1\) is pure HEM and \(\alpha_{\text{mino}}>\alpha_{res}\) is the two-fluid model, with a linear combination (relaxation) in between to smooth the transition. For a two-phase system the minority phase is \(\alpha<0.5\); thus alpha_res=1, alpha_res_min=0.5 keeps the minority phase always in HEM, whereas alpha_res=1e-6, alpha_res_min=5e-7 only avoids velocity problems when a phase disappears (effectively single-phase elsewhere).
The same transformation applies to the energy equations ( \(\mathcal{E}_{\text{pred}}\), \(\mathcal{E}_{\text{mino}}\)), relaxing \(T_{\text{mino}}=T_{\text{pred}}+T_{\text{corr}}\). A relevant minority-phase temperature must be defined when \(\alpha_{\text{mino}}\) is too low:
The parietal flux is linked to the interfacial mass flux by \(\Gamma_g=-\Gamma_l=\frac{q_l+q_g}{L_{\text{vap}}}\).
The mass source \(\Gamma_k\) must satisfy flux consistency ( \(q_{ki}+q_{ki}=0\)) and positive volume fractions. A first estimate is computed from correlations such that \(q_{\text{mino}}+q_{\text{pred}}=0\); a limiter \(\Gamma_{\text{lim}}=\nabla\cdot(\alpha_{\text{mino}}\rho_{\text{mino}})\vec{v}_{\text{mino}}-\frac{\partial\alpha_{\text{mino}}\rho_{\text{mino}}}{\partial t}\) is then computed from the minority-phase transport equation. If \(\Gamma_k\geq\Gamma_{\text{lim}}\) (which would give a negative minority volume fraction), \(\Gamma_k\) is clipped to \(\Gamma_{\text{lim}}\) and consistency is enforced via \(q_{\text{mino}}=h(T_{\text{mino}}-T_{\text{mino,sat}})+\Gamma_{\text{lim}}h_{\text{mino}}\), \(q_{\text{pred}}=-q_{\text{mino}}\) (coded in Source_Flux_interfacial_base).
Dataset example (attached to the momentum equation):
The operator is implemented in two classes: Op_Evanescence_Homogene_Face_base (faces — momentum equation, can impose the drift velocity) and Op_Evanescence_Homogene_Elem_base (elements — mass and energy equations, weakly imposing temperature/void-fraction conditions through fluxes); both read alpha_res (required) and alpha_res_min (default 0). It is called during block/matrix sizing and assembly (assembler_blocs, dimensionner_forblocs, dimensionner_matrice), adding the residual-phase equation to the majority phase locally according to alpha_res, and imposing the algebraic velocity/temperature relations through flux corrections in the mass and energy equations.
Time schemes. TrioCFD multiphase uses the semi-implicit ICE and SETS solvers (located in TRUST), based on a pressure reduction that eliminates the pressure from the coupled system. With ICE/SETS, all terms are semi-implicit except interfacial friction (purely implicit). A fully implicit scheme, PAT, is incoming (all terms implicit except turbulent dispersion). The pressure-reduction step requires the \(\alpha\) and \(T\) dependency matrices of momentum sources to be empty (see Code Architecture).
Spatial schemes. The multiphase equations are discretized with the PolyMAC family of schemes (notably PolyMAC_MPFA, used by TrioCMFD), as well as PolyVEF_P0 and VDF. These polyhedral finite-volume schemes and their gradient (MPFA) approximations are provided by TRUST.