Notes on Enthalpy
Evolution Equations
The compressible and low Mach number formulations of the governing equations both share the unapproximated continuity and momentum equations shown here (where \(p = p_0 + \pi\)).
In the compressible formulation we complete the system with an energy equation as well as an equation of state; in the low Mach number formulation we can derive a constraint on the velocity by setting \(p_{EOS} = p(\rho,h,X_k) = p_0\) and differentiating the equation of state along particle paths. In this case adding the energy equation would over-constrain the system, but its solution can help us in providing a diagnostic capability for the solution. We can write the energy equation in terms of internal energy, \(e\), or enthalpy, \(h\); these two equations are analytically equivalent.
In low Mach number combustion, \(Dp/Dt = 0,\) which makes the enthalpy equation preferable to the internal energy equation because we don’t need to evaluate \(p \nabla \cdot \Ub.\)
Derivation of Velocity Constraint
Differentiating the equation of state, written in the form, \(p = p(\rho,T,X_k),\) along particle paths, we can write
Then, by rearranging the terms, we get
with \(p_\rho = \left.\partial p/\partial \rho\right|_{X_k,T}\), \(p_{X_k} = \left.\partial p/\partial X_k \right|_{T,\rho,(X_j,j\ne k)}\), and \(p_T = \left.\partial p/\partial T\right|_{\rho,X_k}\).
Using the Enthalpy Equation
Now writing \(h = h(p,T,X_k)\) and expanding \(Dh/Dt\) and using the enthalpy evolution equation:
we can express \(DT/Dt\) in terms of
where \(c_p = \left.\partial h/\partial T\right|_{p,X_k}\) is the specific heat at constant pressure, \(\xi_k = \left.\partial h/\partial X_k \right|_{p,T}\), and \(h_p = \left.\partial h/\partial p\right|_{T,X_k}.\)
We could then write,
When we derived this expression we explicitly retained the dependence of \(h\) on \(p\), as shown by the presence of the \(h_p\) term.
Then, replacing \(p\) by \(p_0(r)\), \(Dp/Dt\) becomes \(\Ub \cdot \nabla p_0\), and the divergence constraint can be written
where we define
Using the Energy Equation
Now writing \(e = e(p,T,X_k)\) and expanding \(De/Dt\) and using the energy evolution equation:
we can express \(DT/Dt\) in terms of
where \(e_T = \left.\partial e/\partial T\right|_{p,X_k}\) and \(e_p = \left.\partial e/\partial p\right|_{T,X_k}.\) Then
which leads to
Note that we can replace \(p\) by \(p_0\) in the coefficient on the l.h.s. as well as on the r.h.s.
Comparison of Constraints
If we set \(\omegadot_k = \Hnuc = 0\) for simplicity, then the constraint as derived using \(h\) can be written
and the constraint derived using \(e\) can be written
We note that if we evaluate both constraints for \(p = \rho R T,\) with \(h = c_p T,\) \(e = c_v T,\) \(c_p = c_v + R\) and \(\gamma = c_p / c_v,\) then both constraints reduce to
Enthalpy vs Energy Equation
The full enthalpy equation, with no approximations, appears as:
Here, \(h = e + p/\rho\) is the specific enthalpy, with \(e\) the specific internal energy. In the low Mach number formulation, we replace \(p\) with \(p_0\) in the \(Dp/Dt\) term, however, the definition of enthalpy implicitly contains a pressure. When calling the equation of state, we take \(h\) and \(\rho\) as inputs. The equation of state is expressed in terms of \(T\) and \(\rho\), so it iterates until it finds the \(h\) that we desire. This \(h\) will be of the form \(h = e + p_\mathrm{EOS}/\rho\), where \(p_\mathrm{EOS}\) is the pressure returned from the EOS. Note that \(p_\mathrm{EOS}\) may not be equal to \(p_0\)—this may be what causes us to drive off of the constraint.
The mismatch between the pressure implicit in the definition of \(h\) and \(p_0\) can be seen by substituting \(h = e + p/\rho\) into the enthalpy equation, where we replace \(p\) with \(p_0\) in the \(Dp/Dt\) term:
However, if we solve the evolution equation for \(e\) we would substitute \(p_0\) for \(p\) in this equation as well. Thus, we can pose the situation as the following. If we solve the evolution equation for \(h\) then we effectively are solving
but if we solve the evolution equation for \(e\) we are effectively solving
The second equation subtracted from the first gives:
but this equation is only true, in general, if \(p=p_0\).
Suppose we solve the current enthalpy equation, but when we call the EOS, we subtract \(p_0\) from \(\rho h\) and then call the EOS with \(e\) instead of \(h\). This is equivalent to:
which is identical to solving the energy equation with \(p\to p_0\). This option is enabled in MAESTROeX via use_eos_e_instead_of_h = T.
Constant \(\gamma\) Gas
Going back to the constant \(\gamma\), ideal gas EOS, we can rewrite the enthalpy equation as a pressure evolution equation
Similarly, we can derive a pressure evolution equation from the energy equation
Now, if we further make the assumption that \(p_0\) is constant, \(Dp_0/Dt = 0\), then the divergence constraint for such a gas reduces to
Plugging this back into either of Eq.414 or Eq.415 gives
If \(p_0\) is assumed constant and using div constraint for
constant gamma
, the difference between the enthalpy equation and the
energy equation, Eq.412, can be
rewritten as
where the equality holds from Eq.417. In other words, for the constant \(\gamma\) gas we have \(p=p_0\) as expected.
Outstanding Questions
Why do we want to start with enthalpy instead of internal energy?
We believe that the original desire stems from our experience with smallscale combustion. There, stratification is not important and \(Dp_0/Dt = 0\), so the enthalpy equation becomes a conservation equation for \((\rho h)\).
Should we call the EOS with \(h\) as is, or call the EOS with \(e = h - p_0 / \rho\)?
When we stay on the constraint, i.e. \(p_{EOS} = p_0\), then the equations for \(e\) and for \(h\) are identical. However, once we are off the constraint, do the terms in the current evolution equation for \(h\) serve to drive us back to the constraint? Recall our current “volume discrepancy factor” acts as a source term which modifies the divergence constraint, which effectively modifies both \(\rho\) and \(T\) (or \(e\) or \(h\)). The term in the enthalpy equation only modifies \(\rho.\) Is this relevant and/or useful?? Recall that the current “volume discrepancy factor” takes the form of adding to the r.h.s. of the constraint:
(419)\[\nabla \cdot(\beta_0\Ub) = \beta_0\left(S-\frac{1}{\overline{\Gamma_1} p_0} \frac{\partial p_0}{\partial t} - \frac{f}{\overline{\Gamma_1} p_0} \frac{p_0-p_\text{EOS}}{\dt}\right)\]Suppose we corrected the \(h\) (or \(e\) equation) by using the full \(p\) instead of \(p_0\)? Would this be more or less consistent (one could imagine doing this as a correction after solving for \(\pi\) earlier in the timestep).
In computing the thermodynamic coefficients in \(S\) for the projection, don’t we need these to be in terms of \(p_0\) instead of \(p(h,\rho)\)?