void Foam::epsilonWallFunctionFvPatchScalarField::setMaster() { if (master_ != -1) { return; } const volScalarField& epsilon = static_cast<const volScalarField&>(this->internalField()); const volScalarField::Boundary& bf = epsilon.boundaryField(); label master = -1; forAll(bf, patchi) { if (isA<epsilonWallFunctionFvPatchScalarField>(bf[patchi])) { epsilonWallFunctionFvPatchScalarField& epf = epsilonPatch(patchi); if (master == -1) { master = patchi; } epf.master() = master; } } }
// apply zero-gradient condition for epsilon forAll(cornerWeights_, patchI) { if (!cornerWeights_[patchI].empty()) { epsilonWallFunctionFvPatchScalarField& epf = epsilonPatch(patchI); epf == scalargpuField(epsilon0, epf.patch().faceCells()); } }
// accumulate all of the G and epsilon contributions forAll(cornerWeights_, patchI) { if (!cornerWeights_[patchI].empty()) { epsilonWallFunctionFvPatchScalarField& epf = epsilonPatch(patchI); const gpuList<scalar>& w = cornerWeights_[patchI]; epf.calculate(turbulence, w, epf.patch(), G0, epsilon0); } }