Non-isotermal two-phase flow: heterogeneous thermal properties

Hi all,
I am a bit confused by the <material_property> definition block.
With the “media/medium” definition, it is straightforward to define different thermal properties (i.e specific heat and thermal conductivity of the solid component) for different materials with ids defined in the mesh.
With the <porous_media> definition, specific heat and thermal conductivity of the solid are in the fluid block, which is the same for the complete domain (right?).
Similarly, definiton of solid density is completely outside of these and <porous_medium>.

Am I missing something in defining id=x somewhere in the properties?

Hi, I think the confusion is there because we didn’t finish transition from process-specific material models <porous_media> to generic scheme in MPL <media/medium> for that (and some other processes).

Can you upload a “working” project here (or drop me a mail with NDA : ), then we might help you.

Yes, the fluid block is for the whole domain.

– Dima

PS: Now looking into the code, it (the process) might even not support multiple ids. We need to move to MPL asap. do you know on how to set material properties for the ThermalTwoPhaseFlowWithPP process?

ThermalTwoPhaseFlowWithPP still uses the old material properties. In that implementation, the heterogeneous solid density is set as a Parameter instance of process class. You can define the element wise change density in vtu mesh and the give the input in <Parameter> as


where s_density is the name of the vtu array of the element wise density value.

Thanks for the quick answer @dmitri.naumov . When moving to MPL, please remember that some benchmarks are defined with porous_media thanks for the fix. Would it work for specific_heat_capacity_solid as well?

With current implementation, that does not work for specific_heat_capacity_solid, which was, I do not know why, implemented as fluid property. I hope that the material properties of that process and TwoPhaseFlowWithPPRho could be replaced with MPL early in this year. The replacement in TwoPhaseFlowWithPPRho was implemented (GitHub - wenqing/ogs at pp_rho_MPL) for a merging.

I will try with your branch, thanks.
Unrelated question: I did not dig deep in the code, is the gas dissolution in the water phase computed (i.e. gas mass is present in solution, but liquid saturation = 1)?

The changes in my branch is only for TwoPhaseFlowWithPPRho, which does not contains thermal process.