24 const word functionName)
31 daTurb_(daModel.getDATurbulenceModel())
51 word patchVelocityInputName =
functionDict_.getWord(
"patchVelocityInputName");
53 HashTable<label> axisIndices;
54 axisIndices.set(
"x", 0);
55 axisIndices.set(
"y", 1);
56 axisIndices.set(
"z", 2);
57 word flowAxis = patchVSubDict.getWord(
"flowAxis");
58 word normalAxis = patchVSubDict.getWord(
"normalAxis");
64 FatalErrorIn(
" ") <<
"directionMode for "
65 << functionName <<
" not valid!"
66 <<
"Options: fixedDirection, parallelToFlow, normalToFlow."
72 FatalErrorIn(
" ") <<
"the magnitude of the direction parameter in "
73 << functionName <<
" is not 1.0!"
100 scalar aoaRad = aoaDeg * constant::mathematical::pi / 180.0;
102 scalar compA = cos(aoaRad);
103 scalar compB = sin(aoaRad);
109 else if (
dirMode_ ==
"normalToFlow")
117 scalar functionValue = 0.0;
119 const objectRegistry& db =
mesh_.thisDb();
120 const volScalarField&
p = db.lookupObject<volScalarField>(
"p");
122 const surfaceVectorField::Boundary& Sfb =
mesh_.Sf().boundaryField();
125 const volSymmTensorField::Boundary& devRhoReffb = tdevRhoReff().boundaryField();
136 vector fN(Sfb[patchI][faceI] *
p.boundaryField()[patchI][faceI]);
138 vector fT(Sfb[patchI][faceI] & devRhoReffb[patchI][faceI]);
142 functionValue += faceValue;
146 reduce(functionValue, sumOp<scalar>());
151 return functionValue;