assigning the right enthalpy
I'm running a thermal simulation using TMVOC where I'm also including a mass rate at the second layer beneath the atmospheric boundary layer. The mass rate represents annual precipitation. I would like the temperature of this water infiltration to be at 25 deg C. So, I used a single element case and initialized it with only water at 25 deg C and then ran it. By looking at the output file I obtained the enthalpy of water at that temperature and assigned this value in the main simulation. However, when I look at the results, it seems the temperature keeps falling below the target 25 deg C. Any idea why this is happening? What is the best way to determine an enthalpy corresponding to a temperature in TOUGH2?
In principle, the process you described would be the best way to determine the enthalpy of your injectate.
However, in order to address this issue correctly, I'll need to know more details about the "main simulation" that causes your temperature to drop below 25 degree C. For example, what is the temperature of the "atmospheric" boundary layer (which I assume is a single large element or "dummy" element)? If it is below 25 C, then it seems the heat flux coming from it would dominate the heat introduced from the injection source term.
Could you provide more details about the simulation you're trying to set up?
Assigning enthalpy to an injectate to achieve a desired injection temperature is not generally possible because the process of injection can change P-T conditions which then change effective heat capacity making the chosen enthalpy inconsistent with the desired injection temperature. The TOUGH trick to injecting at constant T is to inject the fluid into an extra grid block with a rock type with infinite Cp that is initialized at whatever injection T you want. This block should then be connected to your actual domain where the injection is occurring. This grid block will never change T (because of its infinite Cp) no matter what enthalpy you assign to fluid injected into it.
I cannot know if this issue is affecting your case and follow up to Mikey's question is needed. But please give the above approach a try.
Old post, but it could be useful to add something more as far as the evaluation of a phase enthalpy in TMVOC V.1.0 (Pruess and Battistelli, 2002) is concerned.
If it is necessary to determine the specific enthalpy of a phase at given PTX conditions in TMVOC (as well as in TOUGH2), it is known that it is possible to run an infinitesimal time step with just one grid block with the primary variables needed to identify the exact thermodynamic state at which the phase enthalpy is needed.
In TOUGH2 the enthalpy is always treated in J/kg, while in TMVOC there is a mixed treatment with both J/mole and J/kg units. This is due to the fact that using moles is easier when solving thermodynamic equilibrium and computing thermophysical properties of organic mixtures.
Phase enthalpies are printed out in the optional 4th table from subroutine OUT in J/mole units. If a mass GENER is added to the grid block mentioned above, then the discharge enthalpy is also printed out in J/mole units. Thus, in order to convert the enthalpy from J/mole to J/kg, it shall be divided by the phase molecular weight (kg/mole). The MW shall be computed starting from phase molar composition, as it is not presently printed out from TMVOC.
It is reminded that when assign the enthalpy to a source in GENER, TMVOC asks for the enthalpy in J/kg, NOT in J/mole. And this could be a bit misleading for the user.
When injecting a mixture, a source for each injected component need to be assigned in GENER input block. Instead of trying to determine the enthalpy of each component, simply determine the mixture enthalpy as reminded above, and assign the same phase enthalpy to all injected components of the mixture. This works if the composition of the injected phase does not change with time.