87 const SubControlVolume& scv,
88 const VolumeVariables& volVars)
const
90 CellCenterPrimaryVariables storage = ParentType::computeStorageForCellCenter(problem, scv, volVars);
92 storage[turbulentKineticEnergyEqIdx] = volVars.turbulentKineticEnergy();
93 storage[dissipationEqIdx] = volVars.dissipation();
99 const Element &element,
100 const FVElementGeometry& fvGeometry,
101 const ElementVolumeVariables& elemVolVars,
102 const ElementFaceVariables& elemFaceVars,
103 const SubControlVolume &scv)
const
105 CellCenterPrimaryVariables source = ParentType::computeSourceForCellCenter(problem, element, fvGeometry,
106 elemVolVars, elemFaceVars, scv);
108 const auto& volVars = elemVolVars[scv];
109 Scalar turbulentKineticEnergy = volVars.turbulentKineticEnergy();
110 Scalar dissipation = volVars.dissipation();
114 if (!volVars.isMatchingPoint())
116 source[turbulentKineticEnergyEqIdx] += 2.0 * volVars.kinematicEddyViscosity()
117 * volVars.stressTensorScalarProduct();
119 source[dissipationEqIdx] += volVars.cOneEpsilon()
120 * dissipation / turbulentKineticEnergy
121 * 2.0 * volVars.kinematicEddyViscosity()
122 * volVars.stressTensorScalarProduct();
126 if (!volVars.isMatchingPoint())
128 source[turbulentKineticEnergyEqIdx] -= dissipation;
130 source[dissipationEqIdx] -= volVars.cTwoEpsilon()
131 * dissipation * dissipation
132 / turbulentKineticEnergy;