diff --git a/applications/utilities/mesh/manipulation/checkMesh/writeFields.C b/applications/utilities/mesh/manipulation/checkMesh/writeFields.C index 0246355859..1623278c6b 100644 --- a/applications/utilities/mesh/manipulation/checkMesh/writeFields.C +++ b/applications/utilities/mesh/manipulation/checkMesh/writeFields.C @@ -502,16 +502,25 @@ void Foam::writeFields if (selectedFields.found("wallDistance")) { - // Wall distance - //const volScalarField& y = wallDist::New(mesh).y(); - volScalarField y("wallDistance", wallDist::New(mesh).y()); - Info<< " Writing wall distance to " << y.name() << endl; - y.write(); + // See if wallDist.method entry in fvSchemes before calling factory + // method of wallDist. Have 'failing' version of wallDist::New instead? + const dictionary& schemesDict = + static_cast(mesh).schemesDict(); + if (schemesDict.found("wallDist")) + { + if (schemesDict.subDict("wallDist").found("method")) + { + // Wall distance + volScalarField y("wallDistance", wallDist::New(mesh).y()); + Info<< " Writing wall distance to " << y.name() << endl; + y.write(); - // Wall-reflection vectors - //const volVectorField& n = wallDist::New(mesh).n(); - //Info<< " Writing wall normal to " << n.name() << endl; - //n.write(); + // Wall-reflection vectors + //const volVectorField& n = wallDist::New(mesh).n(); + //Info<< " Writing wall normal to " << n.name() << endl; + //n.write(); + } + } } Info<< endl;