energyJumpFvPatchScalarField.C does not evaluate boundary condition of underlying thermo.T field
Summary
When updating the coefficients of the energyJumpFvPatchScalarField boundary condition, the underlying boundary condition of the thermo.T field is not updated properly. Similar to, e.g., mixedEnergyFvPatchScalarField, the underlying boundary condition should be updated by calling evaluate() instead of updateCoeffs()
Steps to reproduce
The problem occurs when using a timevarying jump cyclic condition (e.g., uniformJumpCyclic with a linearRamp as jump) on the temperature field in combination with the chtMultiRegionFoam solver.
What is the current bug behaviour?
The current bug behaviour sets the temperature jump boundary condition upon initialization. After that, the flag updated_ remains True throughout the simulation because evaluate() is never called anymore. As a result, the temperature jump is not updated during a simulation.
What is the expected correct behavior?
When the jump is set as time varying, the temperature jump value should be updated during a simulation.
Environment information
- OpenFOAM version : v1912
- Operating system : CentOS Linux release 7.6.1810
- Hardware info :
- Compiler : intel
Possible fixes
openfoam/src/thermophysicalModels/basic/derivedFvPatchFields/energyJump/energyJump/energyJumpFvPatchScalarField.C line 124
current: Tbp.updateCoeffs();
possible fix: Tbp.evaluate();
similar fix should be applied to openfoam/src/thermophysicalModels/basic/derivedFvPatchFields/energyJump/energyJumpAMI/energyJumpAMIFvPatchScalarField.C line 124