diff --git a/src/functionObjects/forces/forces/forces.C b/src/functionObjects/forces/forces/forces.C index 1f685c145a..ccc72bf3ef 100644 --- a/src/functionObjects/forces/forces/forces.C +++ b/src/functionObjects/forces/forces/forces.C @@ -745,12 +745,29 @@ bool Foam::functionObjects::forces::read(const dictionary& dict) } else { - // Optional entries U and p - pName_ = dict.lookupOrDefault("p", "p"); - UName_ = dict.lookupOrDefault("U", "U"); - rhoName_ = dict.lookupOrDefault("rho", "rho"); + // Optional phase entry phaseName_ = dict.lookupOrDefault("phase", word::null); + // Optional U, p and rho entries + pName_ = + dict.lookupOrDefault + ( + "p", + IOobject::groupName("p", phaseName_) + ); + UName_ = + dict.lookupOrDefault + ( + "U", + IOobject::groupName("U", phaseName_) + ); + rhoName_ = + dict.lookupOrDefault + ( + "rho", + IOobject::groupName("rho", phaseName_) + ); + // Reference density needed for incompressible calculations if (rhoName_ == "rhoInf") {