25 const word objFuncName,
26 const word objFuncPart,
27 const dictionary& objFuncDict)
47 axis_[0] = axisList[0];
48 axis_[1] = axisList[1];
49 axis_[2] = axisList[2];
53 scalarList forceAxisList;
54 objFuncDict_.readEntry<scalarList>(
"forceAxis", forceAxisList);
63 FatalErrorIn(
" ") <<
"axis and forceAxis vectors need to be orthogonal! "
67 scalarList centerList;
68 objFuncDict_.readEntry<scalarList>(
"center", centerList);
78 const labelList& objFuncFaceSources,
79 const labelList& objFuncCellSources,
80 scalarList& objFuncFaceValues,
81 scalarList& objFuncCellValues,
97 scalar weightedPressure = 0.0;
98 scalar totalPressure = 0.0;
100 const objectRegistry& db =
mesh_.thisDb();
101 const volScalarField&
p = db.lookupObject<volScalarField>(
"p");
103 const surfaceVectorField::Boundary& Sfb =
mesh_.Sf().boundaryField();
106 forAll(objFuncFaceSources, idxI)
108 const label& objFuncFaceI = objFuncFaceSources[idxI];
114 vector fN(Sfb[patchI][faceI] *
p.boundaryField()[patchI][faceI]);
120 weightedPressure += r * f;
126 reduce(weightedPressure, sumOp<scalar>());
127 reduce(totalPressure, sumOp<scalar>());