75 const SubControlVolume& scv,
76 const VolumeVariables& volVars)
const
78 CellCenterPrimaryVariables storage = ParentType::computeStorageForCellCenter(problem, scv, volVars);
80 storage[turbulentKineticEnergyEqIdx] = volVars.turbulentKineticEnergy() * volVars.density();
81 storage[dissipationEqIdx] = volVars.dissipation() * volVars.density();
87 const Element &element,
88 const FVElementGeometry& fvGeometry,
89 const ElementVolumeVariables& elemVolVars,
90 const ElementFaceVariables& elemFaceVars,
91 const SubControlVolume &scv)
const
93 CellCenterPrimaryVariables source = ParentType::computeSourceForCellCenter(problem, element, fvGeometry,
94 elemVolVars, elemFaceVars, scv);
96 const auto& volVars = elemVolVars[scv];
97 Scalar turbulentKineticEnergy = volVars.turbulentKineticEnergy();
98 Scalar dissipation = volVars.dissipation();
102 if (!volVars.isMatchingPoint())
104 source[turbulentKineticEnergyEqIdx] += 2.0 * volVars.dynamicEddyViscosity()
105 * volVars.stressTensorScalarProduct();
107 source[dissipationEqIdx] += volVars.cOneEpsilon()
108 * dissipation / turbulentKineticEnergy
109 * 2.0 * volVars.dynamicEddyViscosity()
110 * volVars.stressTensorScalarProduct();
114 if (!volVars.isMatchingPoint())
116 source[turbulentKineticEnergyEqIdx] -= dissipation * volVars.density();
118 source[dissipationEqIdx] -= volVars.cTwoEpsilon()
119 * dissipation * dissipation
120 / turbulentKineticEnergy * volVars.density();