mirror of
https://github.com/OPM/opm-simulators.git
synced 2025-02-25 18:55:30 -06:00
Store both inside and outside thermal half transmissibility
This commit is contained in:
parent
838b230b64
commit
ef325dd08d
@ -1469,13 +1469,26 @@ public:
|
|||||||
* \copydoc EclTransmissiblity::thermalHalfTransmissibility
|
* \copydoc EclTransmissiblity::thermalHalfTransmissibility
|
||||||
*/
|
*/
|
||||||
template <class Context>
|
template <class Context>
|
||||||
Scalar thermalHalfTransmissibility(const Context& context,
|
Scalar thermalHalfTransmissibilityIn(const Context& context,
|
||||||
unsigned faceIdx,
|
unsigned faceIdx,
|
||||||
unsigned timeIdx) const
|
unsigned timeIdx) const
|
||||||
{
|
{
|
||||||
const auto& face = context.stencil(timeIdx).interiorFace(faceIdx);
|
const auto& face = context.stencil(timeIdx).interiorFace(faceIdx);
|
||||||
unsigned toDofLocalIdx = face.exteriorIndex();
|
unsigned toDofLocalIdx = face.exteriorIndex();
|
||||||
return *pffDofData_.get(context.element(), toDofLocalIdx).thermalHalfTrans;
|
return *pffDofData_.get(context.element(), toDofLocalIdx).thermalHalfTransIn;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*!
|
||||||
|
* \copydoc EclTransmissiblity::thermalHalfTransmissibility
|
||||||
|
*/
|
||||||
|
template <class Context>
|
||||||
|
Scalar thermalHalfTransmissibilityOut(const Context& context,
|
||||||
|
unsigned faceIdx,
|
||||||
|
unsigned timeIdx) const
|
||||||
|
{
|
||||||
|
const auto& face = context.stencil(timeIdx).interiorFace(faceIdx);
|
||||||
|
unsigned toDofLocalIdx = face.exteriorIndex();
|
||||||
|
return *pffDofData_.get(context.element(), toDofLocalIdx).thermalHalfTransOut;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
@ -3208,7 +3221,8 @@ private:
|
|||||||
|
|
||||||
struct PffDofData_
|
struct PffDofData_
|
||||||
{
|
{
|
||||||
Opm::ConditionalStorage<enableEnergy, Scalar> thermalHalfTrans;
|
Opm::ConditionalStorage<enableEnergy, Scalar> thermalHalfTransIn;
|
||||||
|
Opm::ConditionalStorage<enableEnergy, Scalar> thermalHalfTransOut;
|
||||||
Opm::ConditionalStorage<enableDiffusion, Scalar> diffusivity;
|
Opm::ConditionalStorage<enableDiffusion, Scalar> diffusivity;
|
||||||
Scalar transmissibility;
|
Scalar transmissibility;
|
||||||
};
|
};
|
||||||
@ -3229,8 +3243,10 @@ private:
|
|||||||
unsigned globalCenterElemIdx = elementMapper.index(stencil.entity(/*dofIdx=*/0));
|
unsigned globalCenterElemIdx = elementMapper.index(stencil.entity(/*dofIdx=*/0));
|
||||||
dofData.transmissibility = transmissibilities_.transmissibility(globalCenterElemIdx, globalElemIdx);
|
dofData.transmissibility = transmissibilities_.transmissibility(globalCenterElemIdx, globalElemIdx);
|
||||||
|
|
||||||
if (enableEnergy)
|
if (enableEnergy) {
|
||||||
*dofData.thermalHalfTrans = transmissibilities_.thermalHalfTrans(globalCenterElemIdx, globalElemIdx);
|
*dofData.thermalHalfTransIn = transmissibilities_.thermalHalfTrans(globalCenterElemIdx, globalElemIdx);
|
||||||
|
*dofData.thermalHalfTransOut = transmissibilities_.thermalHalfTrans(globalElemIdx, globalCenterElemIdx);
|
||||||
|
}
|
||||||
if (enableDiffusion)
|
if (enableDiffusion)
|
||||||
*dofData.diffusivity = transmissibilities_.diffusivity(globalCenterElemIdx, globalElemIdx);
|
*dofData.diffusivity = transmissibilities_.diffusivity(globalCenterElemIdx, globalElemIdx);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user