View Issue Details
|ID||Project||Category||View Status||Date Submitted||Last Update|
|0003061||OpenFOAM||[All Projects] Bug||public||2018-08-30 08:44||2018-09-01 09:16|
|Fixed in Version|
|Summary||0003061: basicThermo::lookupThermo(const fvPatchScalarField&) does not work for multiphase flow|
|Description||The lookup function of basicThermo uses the if case with the Foam::basicThermo::dictName("thermophysicalProperties") to check if the thermo model exists. If this is used to lookup the thermomodel in the mixedEnergyFvPatchScalarField::updateCoeffs() not the thermo model of the phase is returned for multiphase flows.|
This happens when the temperature equation in the multiphase solver are replaced by solving a phase enthalpy equation.
|Steps To Reproduce||Write out the h.<phase> file of one phase with a multiphase flow simulation and a mixed boundary condition for the temperature (such as inletOutlet). The boundary condition is then not correctly computed for the h.<phase> file.|
I have found that the reason is the returned pointer to the thermophysicalProperties thermo model and not the thermophysicalProperties.<phase> model.
|Tags||No tags attached.|
||There are several multiphase solvers in OpenFOAM. Please specify which solver should be used to reproduce this error, along with a tutorial/test case that can be used to test this.|
||I had used compressibleInterFoam and solved for the liquid enthalpy with a general transport equation for testing purposes.|
I found the error when:
* Include a hEqn.H transport equation in compressibleInterFoam so that updateCoeffs is called.
volScalarField& hePhase1 = mixture.thermo1().he();
fvm::ddt(rho1,hePhase1) + fvm::div(phi,hePhase1)
* Write a print statement in heThermo<BasicThermo, MixtureType>::he(p,T, patchi) that prints out the calculated values.
* Additionally, give back the thermo model to cout with Info<<thermo in updateCoeffs in mixedEnergyFvPatchScalarField::updateCoeffs()
You will see, that the he() function is called for both thermo models and it is not clear which is then the returned value.
Also, the printed dictionary of thermo is the thermophysicalProperties one and not thermophysicalProperties.<phase>