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;
        }
    }
}
Beispiel #2
0
    // apply zero-gradient condition for epsilon
    forAll(cornerWeights_, patchI)
    {
        if (!cornerWeights_[patchI].empty())
        {
            epsilonWallFunctionFvPatchScalarField& epf = epsilonPatch(patchI);

            epf == scalargpuField(epsilon0, epf.patch().faceCells());
        }
    }
Beispiel #3
0
    // 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);
        }
    }